diff options
| author | Raghavendra G <rgowdapp@redhat.com> | 2016-05-06 12:26:29 +0530 |
|---|---|---|
| committer | Raghavendra G <rgowdapp@redhat.com> | 2016-08-27 04:10:42 -0700 |
| commit | 6b406ac42f55233df474fa304dbb9e6fc447bd8f (patch) | |
| tree | d4bd0fb066871bd210c0aa836778f7da180580b0 /libglusterfs/src/graph.c | |
| parent | 50fa85c071553b41f33a8167b31c8a9b54cfe3e3 (diff) | |
quotad: fix potential buffer overflows
This converts sprintf to gf_asprintf in following components: * quotad.c
* dht
* afr
* protocol/client
* rpc/rpc-lib
* rpc/rpc-transport
This is a backport of http://review.gluster.org/#/c/14102/
> Change-Id: If8a267bab3d91003bdef3a92664077a0136745ee
> BUG: 1332073
> Signed-off-by: Raghavendra G <rgowdapp@redhat.com>
> Reviewed-on: http://review.gluster.org/14102
> Tested-by: Manikandan Selvaganesh <mselvaga@redhat.com>
> Smoke: Gluster Build System <jenkins@build.gluster.org>
> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
> CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
> Reviewed-by: Manikandan Selvaganesh <mselvaga@redhat.com>
Change-Id: If8a267bab3d91003bdef3a92664077a0136745ee
BUG: 1366746
Signed-off-by: Raghavendra G <rgowdapp@redhat.com>
Reviewed-on: http://review.gluster.org/15325
Smoke: Gluster Build System <jenkins@build.gluster.org>
Tested-by: Manikandan Selvaganesh <mselvaga@redhat.com>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
Diffstat (limited to 'libglusterfs/src/graph.c')
| -rw-r--r-- | libglusterfs/src/graph.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/libglusterfs/src/graph.c b/libglusterfs/src/graph.c index 2e290bb20a1..04bb92c7c75 100644 --- a/libglusterfs/src/graph.c +++ b/libglusterfs/src/graph.c @@ -598,16 +598,19 @@ _glusterfs_reachable_leaves(xlator_t *base, xlator_t *xl, dict_t *leaves) xlator_list_t *list = NULL; int err = 1; int pos = 0; - char strpos[6]; + char *strpos = NULL; if (glusterfs_is_leaf(xl)) { pos = glusterfs_leaf_position(xl); if (pos < 0) goto out; - sprintf(strpos, "%d", pos); - err = dict_set_static_ptr(leaves, strpos, base); + err = gf_asprintf(&strpos, "%d", pos); + if (err >= 0) { + err = dict_set_static_ptr(leaves, strpos, base); + GF_FREE (strpos); + } } else { for (err = 0, list = xl->children; !err && list; |
