summaryrefslogtreecommitdiffstats
path: root/xlators/mgmt/glusterd/src/glusterd-volgen.c
diff options
context:
space:
mode:
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-volgen.c')
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-volgen.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-volgen.c b/xlators/mgmt/glusterd/src/glusterd-volgen.c
index 35e49bf56fc..33e6dc064bd 100644
--- a/xlators/mgmt/glusterd/src/glusterd-volgen.c
+++ b/xlators/mgmt/glusterd/src/glusterd-volgen.c
@@ -4073,8 +4073,11 @@ build_distribute:
goto out;
}
if (volinfo->tier_info.hot_brick_count) {
- strncpy (tmp_volname, volinfo->volname,
- GD_VOLUME_NAME_MAX - 1);
+ if (snprintf (tmp_volname, GD_VOLUME_NAME_MAX_TIER, "%s",
+ volinfo->volname) >= GD_VOLUME_NAME_MAX_TIER) {
+ ret = -1;
+ goto out;
+ }
if (volinfo->tier_info.cur_tier_hot)
strcat (volinfo->volname, "-hot");
else
@@ -4490,12 +4493,12 @@ client_graph_builder (volgen_graph_t *graph, glusterd_volinfo_t *volinfo,
goto out;
} else {
gfproxy_clnt = _gf_true;
- namelen = strlen (volinfo->volname) + strlen ("gfproxyd-") + 1;
+ namelen = strlen (volinfo->volname) + SLEN ("gfproxyd-") + 1;
subvol = alloca (namelen);
snprintf (subvol, namelen, "gfproxyd-%s", volinfo->volname);
namelen = strlen (volinfo->volname) +
- strlen ("-gfproxy-client") + 1;
+ SLEN ("-gfproxy-client") + 1;
xl_id = alloca (namelen);
snprintf (xl_id, namelen, "%s-gfproxy-client",
volinfo->volname);
@@ -6448,7 +6451,7 @@ build_bitd_volume_graph (volgen_graph_t *graph,
goto out;
get_transport_type (volinfo, set_dict, transt, _gf_false);
- if (!strncmp (transt, "tcp,rdma", strlen ("tcp,rdma")))
+ if (!strncmp (transt, "tcp,rdma", SLEN ("tcp,rdma")))
strncpy (transt, "tcp", sizeof(transt));
cds_list_for_each_entry (brickinfo, &volinfo->bricks, brick_list) {
@@ -6610,7 +6613,7 @@ build_scrub_volume_graph (volgen_graph_t *graph, glusterd_volinfo_t *volinfo,
goto out;
get_transport_type (volinfo, set_dict, transt, _gf_false);
- if (!strncmp (transt, "tcp,rdma", strlen ("tcp,rdma")))
+ if (!strncmp (transt, "tcp,rdma", SLEN ("tcp,rdma")))
strncpy (transt, "tcp", sizeof(transt));
cds_list_for_each_entry (brickinfo, &volinfo->bricks, brick_list) {