diff options
author | Kaleb S. KEITHLEY <kkeithle@redhat.com> | 2013-11-29 08:03:30 -0500 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2013-12-01 20:38:04 -0800 |
commit | ec60ca1061574f7c28a5ec226fb2553d2a0c8326 (patch) | |
tree | f96b33dae0b97b9e915ab9ecbfd8df045b68ca09 /glusterfsd | |
parent | 88dc9d88990d75637b144ca11d3510c8fb7e3f0b (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: I8f31179ae12c05c9b5406d8e9e28110fcbfac1c7
BUG: 1036102
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
Reviewed-on: http://review.gluster.org/6381
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.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/glusterfsd/src/glusterfsd-mgmt.c b/glusterfsd/src/glusterfsd-mgmt.c index 62a77ea56cc..08d95f37266 100644 --- a/glusterfsd/src/glusterfsd-mgmt.c +++ b/glusterfsd/src/glusterfsd-mgmt.c @@ -1732,7 +1732,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; } |