diff options
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-utils.c | 9 | 
1 files changed, 7 insertions, 2 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c index 28b9cdc78fc..726aa3a1bb3 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.c +++ b/xlators/mgmt/glusterd/src/glusterd-utils.c @@ -824,8 +824,13 @@ glusterd_is_brickpath_available (uuid_t uuid, char *path)          strncpy (tmp_path, path, PATH_MAX);          /* path may not yet exist */ -        if (!realpath (path, tmp_path) && (errno != ENOENT)) -                goto out; +        if (!realpath (path, tmp_path)) { +                if (errno != ENOENT) { +                        goto out; +                } +                /* When realpath(3) fails, tmp_path is undefined. */ +                strncpy(tmp_path,path,PATH_MAX); +        }          list_for_each_entry (volinfo, &priv->volumes, vol_list) {                  list_for_each_entry (brickinfo, &volinfo->bricks, brick_list) {  | 
