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 cc1a6e9a66..42398bbf2c 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) |