diff options
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-volume-ops.c')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-volume-ops.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-volume-ops.c b/xlators/mgmt/glusterd/src/glusterd-volume-ops.c index 083c7a036ad..8d126c5cc1a 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volume-ops.c +++ b/xlators/mgmt/glusterd/src/glusterd-volume-ops.c @@ -800,14 +800,21 @@ glusterd_op_stage_create_volume (dict_t *dict, char **op_errstr) brick= strtok_r (brick_list, " \n", &tmpptr); brick_list = tmpptr; - if (!glusterd_store_is_valid_brickpath (volname, brick) || - !glusterd_is_valid_volfpath (volname, brick)) { + if (!glusterd_store_is_valid_brickpath (volname, brick)) { snprintf (msg, sizeof (msg), "brick path %s is too " "long.", brick); ret = -1; goto out; } + if (!glusterd_is_valid_volfpath (volname, brick)) { + snprintf (msg, sizeof (msg), "Volume file path for " + "volume %s and brick path %s is too long.", + volname, brick); + ret = -1; + goto out; + } + ret = glusterd_brickinfo_new_from_brick (brick, &brick_info); if (ret) goto out; @@ -1522,7 +1529,7 @@ glusterd_op_create_volume (dict_t *dict, char **op_errstr) goto out; } - strncpy (volinfo->volname, volname, GLUSTERD_MAX_VOLUME_NAME); + strncpy (volinfo->volname, volname, sizeof(volinfo->volname)); GF_ASSERT (volinfo->volname); ret = dict_get_int32 (dict, "type", &volinfo->type); |