summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaleb S. KEITHLE <kkeithle@redhat.com>2018-11-09 11:27:11 -0500
committerAmar Tumballi <amarts@redhat.com>2018-11-15 05:05:34 +0000
commit76906af9d70fc784de728a70e3dbda62dece5e10 (patch)
tree6f5128c78611e91cf5e6ade8a166802a9720567b
parent8a5adc811637b147e6e42d952498bc99e3d670bb (diff)
core: fix strncpy warnings
Since gcc-8.2.x (fedora-28 or so) gcc has been emitting warnings about buggy use of strncpy. e.g. warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length and warning: ‘strncpy’ specified bound depends on the length of the source argument Since we're copying string fragments and explicitly null terminating use memcpy to silence the warning Change-Id: I413d84b5f4157f15c99e9af3e154ce594d5bcdc1 updates: bz#1193929 Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
-rw-r--r--libglusterfs/src/common-utils.c2
-rw-r--r--libglusterfs/src/inode.c4
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-utils.c10
-rw-r--r--xlators/mount/fuse/src/fuse-bridge.c2
-rw-r--r--xlators/mount/fuse/src/fuse-helpers.c2
5 files changed, 10 insertions, 10 deletions
diff --git a/libglusterfs/src/common-utils.c b/libglusterfs/src/common-utils.c
index 31759a3e48f..47558e76ba4 100644
--- a/libglusterfs/src/common-utils.c
+++ b/libglusterfs/src/common-utils.c
@@ -3113,7 +3113,7 @@ gf_canonicalize_path(char *path)
while (dir) {
dir_path_len = strlen(dir);
- strncpy((path + path_len + 1), dir, dir_path_len);
+ memcpy((path + path_len + 1), dir, dir_path_len);
path_len += dir_path_len + 1;
dir = strtok_r(NULL, "/", &tmpstr);
if (dir) {
diff --git a/libglusterfs/src/inode.c b/libglusterfs/src/inode.c
index b8e389ac140..a5dcac7d7e1 100644
--- a/libglusterfs/src/inode.c
+++ b/libglusterfs/src/inode.c
@@ -1385,7 +1385,7 @@ __inode_path(inode_t *inode, const char *name, char **bufp)
if (name) {
len = strlen(name);
- strncpy(buf + (i - len), name, len);
+ memcpy(buf + (i - len), name, len);
buf[i - len - 1] = '/';
i -= (len + 1);
}
@@ -1395,7 +1395,7 @@ __inode_path(inode_t *inode, const char *name, char **bufp)
trav = __dentry_search_arbit(itrav)) {
itrav = trav->parent;
len = strlen(trav->name);
- strncpy(buf + (i - len), trav->name, len);
+ memcpy(buf + (i - len), trav->name, len);
buf[i - len - 1] = '/';
i -= (len + 1);
}
diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c
index a38dfe43908..e633d6ebc4d 100644
--- a/xlators/mgmt/glusterd/src/glusterd-utils.c
+++ b/xlators/mgmt/glusterd/src/glusterd-utils.c
@@ -11481,7 +11481,7 @@ _heal_volume_add_shd_rsp(dict_t *this, char *key, data_t *value, void *data)
rxl_end_len = strlen(rxl_end);
int_len = strlen(key) - rxl_end_len;
- strncpy(int_str, key, int_len);
+ (void)memcpy(int_str, key, int_len);
int_str[int_len] = '\0';
ret = gf_string2int(int_str, &rxl_id);
@@ -11489,7 +11489,7 @@ _heal_volume_add_shd_rsp(dict_t *this, char *key, data_t *value, void *data)
goto out;
int_len = rxl_end_len - strlen(rxl_child_end) - 1;
- strncpy(int_str, rxl_end + 1, int_len);
+ (void)memcpy(int_str, rxl_end + 1, int_len);
int_str[int_len] = '\0';
ret = gf_string2int(int_str, &rxl_child_id);
@@ -11553,19 +11553,19 @@ _heal_volume_add_shd_rsp_of_statistics(dict_t *this, char *key, data_t *value,
key_begin_strlen = strlen(key_begin_str);
int_len = strlen(key) - key_begin_strlen;
- strncpy(key_begin_string, key, int_len);
+ (void)memcpy(key_begin_string, key, int_len);
key_begin_string[int_len] = '\0';
rxl_end_len = strlen(rxl_end);
int_len = key_begin_strlen - rxl_end_len - 1;
- strncpy(int_str, key_begin_str + 1, int_len);
+ (void)memcpy(int_str, key_begin_str + 1, int_len);
int_str[int_len] = '\0';
ret = gf_string2int(int_str, &rxl_id);
if (ret)
goto out;
int_len = rxl_end_len - strlen(rxl_child_end) - 1;
- strncpy(int_str, rxl_end + 1, int_len);
+ (void)memcpy(int_str, rxl_end + 1, int_len);
int_str[int_len] = '\0';
ret = gf_string2int(int_str, &rxl_child_id);
if (ret)
diff --git a/xlators/mount/fuse/src/fuse-bridge.c b/xlators/mount/fuse/src/fuse-bridge.c
index 48b8d9df480..412c8ea158f 100644
--- a/xlators/mount/fuse/src/fuse-bridge.c
+++ b/xlators/mount/fuse/src/fuse-bridge.c
@@ -3491,7 +3491,7 @@ fuse_readdirp_cbk(call_frame_t *frame, void *cookie, xlator_t *this,
fde->dirent.off = entry->d_off;
fde->dirent.type = entry->d_type;
fde->dirent.namelen = strlen(entry->d_name);
- strncpy(fde->dirent.name, entry->d_name, fde->dirent.namelen);
+ (void)memcpy(fde->dirent.name, entry->d_name, fde->dirent.namelen);
size += FUSE_DIRENTPLUS_SIZE(fde);
if (!entry->inode)
diff --git a/xlators/mount/fuse/src/fuse-helpers.c b/xlators/mount/fuse/src/fuse-helpers.c
index 2145a951c4e..cf4f8e17c51 100644
--- a/xlators/mount/fuse/src/fuse-helpers.c
+++ b/xlators/mount/fuse/src/fuse-helpers.c
@@ -534,7 +534,7 @@ gf_fuse_fill_dirent(gf_dirent_t *entry, struct fuse_dirent *fde,
fde->off = entry->d_off;
fde->type = entry->d_type;
fde->namelen = strlen(entry->d_name);
- strncpy(fde->name, entry->d_name, fde->namelen);
+ (void)memcpy(fde->name, entry->d_name, fde->namelen);
}
static int