glusterd: Coverity fix for string_overflow overrun

In function glusterd_dump_peer() it is copying "input_key" into "key"
buffer without checking the length which might cause string_overflow
overrun. Similar problem with other coverity issue.
With this fix it will copy "input_key" into "key" buffer by maximum
length of buffer.

Coverity CID: 1256171
Coverity CID: 1256172
Coverity CID: 1256174

Change-Id: I4e092309d9503bd79ff82cf83ed5e8d758743453
BUG: 1093692
Signed-off-by: Gaurav Kumar Garg  ggarg <ggarg@redhat.com>
Reviewed-on: http://review.gluster.org/9208
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
Reviewed-by: Kaushal M <kaushal@redhat.com>
This commit is contained in:
GauravKumarGarg 2014-11-28 12:02:20 +05:30 committed by Kaushal M
parent 6b83a658ed
commit 4aa63e2850
2 changed files with 3 additions and 3 deletions

View File

@ -296,7 +296,7 @@ gotvolinfo:
ret = stat (path, &stbuf);
if ((ret == -1) && (errno == ENOENT)) {
strcpy (dup_volid, volid_ptr);
strncpy (dup_volid, volid_ptr, (PATH_MAX - 1));
if (!strchr (dup_volid, '.')) {
switch (volinfo->transport_type) {
case GF_TRANSPORT_TCP:

View File

@ -284,7 +284,7 @@ glusterd_dump_peer (glusterd_peerinfo_t *peerinfo, char *input_key, int index,
char subkey[50] = {0,};
char key[GF_DUMP_MAX_BUF_LEN] = {0,};
strcpy (key, input_key);
strncpy (key, input_key, (GF_DUMP_MAX_BUF_LEN - 1));
snprintf (subkey, sizeof (subkey), "%s%d", key, index);
@ -327,7 +327,7 @@ glusterd_dump_peer_rpcstat (glusterd_peerinfo_t *peerinfo, char *input_key,
char subkey[50] = {0,};
char key[GF_DUMP_MAX_BUF_LEN] = {0,};
strcpy (key, input_key);
strncpy (key, input_key, (GF_DUMP_MAX_BUF_LEN - 1));
/* Dump the rpc connection statistics */
rpc = peerinfo->rpc;