diff options
Diffstat (limited to 'xlators/features/bit-rot/src/stub/bit-rot-stub-helpers.c')
| -rw-r--r-- | xlators/features/bit-rot/src/stub/bit-rot-stub-helpers.c | 10 | 
1 files changed, 7 insertions, 3 deletions
diff --git a/xlators/features/bit-rot/src/stub/bit-rot-stub-helpers.c b/xlators/features/bit-rot/src/stub/bit-rot-stub-helpers.c index cc1a6e9a66f..42398bbf2ca 100644 --- a/xlators/features/bit-rot/src/stub/bit-rot-stub-helpers.c +++ b/xlators/features/bit-rot/src/stub/bit-rot-stub-helpers.c @@ -257,10 +257,14 @@ br_stub_dir_create (xlator_t *this, br_stub_private_t *priv)          gf_uuid_copy (priv->bad_object_dir_gfid, BR_BAD_OBJ_CONTAINER); -        strncpy (fullpath, priv->stub_basepath, sizeof (fullpath)); +        if (snprintf (fullpath, sizeof (fullpath), "%s", +		      priv->stub_basepath) >= sizeof (fullpath)) +                goto out; -        snprintf (stub_gfid_path, sizeof (stub_gfid_path), "%s/stub-%s", -                  priv->stub_basepath, uuid_utoa (priv->bad_object_dir_gfid)); +        if (snprintf (stub_gfid_path, sizeof (stub_gfid_path), "%s/stub-%s", +                  priv->stub_basepath, uuid_utoa (priv->bad_object_dir_gfid)) +                  >= sizeof (stub_gfid_path)) +                goto out;          ret = br_stub_check_stub_directory (this, fullpath);          if (ret)  | 
