diff options
author | Kaleb S KEITHLEY <kkeithle@redhat.com> | 2016-03-05 11:36:49 -0500 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2016-03-05 15:50:52 -0800 |
commit | e1187f011855606c3210a75267847aa29b99584e (patch) | |
tree | 1ec6457356c9d98aaca4e87a88cb96fba4bd93d3 | |
parent | 35cd7053eaf7b41046a505247388a0724b74c3c7 (diff) |
glusterd: coverity warning in gluster_copy_nfs_ganesha_file()
fix unused return value from snprintf.
Also minor cleanup, including safe handling of truncated output
by snprintf, and lstat() -> sys_lstat()
backport from mainline:
>Change-Id: Ibec8c7e6cc4ef07b6535d01a0719359fa3ef8030
>BUG: 1310755
>Reviewed-on: http://review.gluster.org/13486
Change-Id: Ic893751c5ce83c85b01c311091f2728d4997e599
BUG: 1315009
Signed-off-by: Kaleb S KEITHLEY <kkeithle@redhat.com>
Reviewed-on: http://review.gluster.org/13612
Smoke: Gluster Build System <jenkins@build.gluster.com>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-snapshot-utils.c | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-snapshot-utils.c b/xlators/mgmt/glusterd/src/glusterd-snapshot-utils.c index 58dce29f613..70c796aff94 100644 --- a/xlators/mgmt/glusterd/src/glusterd-snapshot-utils.c +++ b/xlators/mgmt/glusterd/src/glusterd-snapshot-utils.c @@ -3671,10 +3671,10 @@ glusterd_copy_nfs_ganesha_file (glusterd_volinfo_t *src_vol, { int32_t ret = -1; - char snap_dir[PATH_MAX] = ""; - char src_path[PATH_MAX] = ""; - char dest_path[PATH_MAX] = ""; - char buffer[BUFSIZ] = ""; + char snap_dir[PATH_MAX] = {0,}; + char src_path[PATH_MAX] = {0,}; + char dest_path[PATH_MAX] = {0,}; + char buffer[BUFSIZ] = {0,}; char *find_ptr = NULL; char *buff_ptr = NULL; char *tmp_ptr = NULL; @@ -3695,18 +3695,16 @@ glusterd_copy_nfs_ganesha_file (glusterd_volinfo_t *src_vol, if (src_vol->is_snap_volume) { GLUSTERD_GET_SNAP_DIR (snap_dir, src_vol->snapshot, priv); - ret = snprintf (src_path, sizeof (src_path), - "%s/export.%s.conf", snap_dir, - src_vol->snapshot->snapname); + ret = snprintf (src_path, PATH_MAX, "%s/export.%s.conf", + snap_dir, src_vol->snapshot->snapname); } else { - ret = snprintf (src_path, sizeof (src_path), - "%s/export.%s.conf", GANESHA_EXPORT_DIRECTORY, - src_vol->volname); - if (ret < 0) - goto out; + ret = snprintf (src_path, PATH_MAX, "%s/export.%s.conf", + GANESHA_EXPORT_DIRECTORY, src_vol->volname); } + if (ret < 0 || ret >= PATH_MAX) + goto out; - ret = lstat (src_path, &stbuf); + ret = sys_lstat (src_path, &stbuf); if (ret) { /* * * If export file is not present, volume is not exported |