summaryrefslogtreecommitdiffstats
path: root/glusterfsd
diff options
context:
space:
mode:
authorKaleb S. KEITHLEY <kkeithle@redhat.com>2013-11-29 08:23:47 -0500
committerVijay Bellur <vbellur@redhat.com>2013-11-30 10:16:29 -0800
commit20c5d47ef62b94330f1335a1c403406e9ad636d4 (patch)
treed9bf7f0f0e1ba44eade6338baebdad60635f6d87 /glusterfsd
parenta25d321bade8c3e7e07242f79ec9f1de2280af0f (diff)
glusterfsd: fix small memory leaks in glusterfsd-mgmt.c
E.g. In glusterfs_volfile_fetch(), req.xdata.xdata_val is allocated in dict_allocate_and_serialize() but not freed after mgmt_submit_request(). A survey of dict_allocate_and_serialize/_submit_request in glusterfsd-mgmt.c shows no consistent pattern of freeing the xdata_val and also the dict, which is a little disturbing. (Yes, clearly not every place this occurs needs to be freed the same way.) Change-Id: Id3f81346c0c863fa06c7b780a634e9b4ed68e453 BUG: 1036102 Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com> Reviewed-on: http://review.gluster.org/6384 Reviewed-by: Santosh Pradhan <spradhan@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Diffstat (limited to 'glusterfsd')
-rw-r--r--glusterfsd/src/glusterfsd-mgmt.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/glusterfsd/src/glusterfsd-mgmt.c b/glusterfsd/src/glusterfsd-mgmt.c
index bbfc5059361..0484779ce55 100644
--- a/glusterfsd/src/glusterfsd-mgmt.c
+++ b/glusterfsd/src/glusterfsd-mgmt.c
@@ -1456,7 +1456,12 @@ glusterfs_volfile_fetch (glusterfs_ctx_t *ctx)
ret = mgmt_submit_request (&req, frame, ctx, &clnt_handshake_prog,
GF_HNDSK_GETSPEC, mgmt_getspec_cbk,
(xdrproc_t)xdr_gf_getspec_req);
+
out:
+ GF_FREE (req.xdata.xdata_val);
+ if (dict)
+ dict_unref (dict);
+
return ret;
}