From 220722b426f4014abdca0c719b2ca4e3aefeecc4 Mon Sep 17 00:00:00 2001 From: Sunny Kumar Date: Fri, 30 Nov 2018 17:46:59 +0530 Subject: cli : Memeory leak fix reported by ASAN This patch fixes memory leak in cli-rpc-ops.c. Functions: gf_cli_create_volume_cbk, gf_cli_delete_volume_cbk, gf_cli_start_volume_cbk, gf_cli_remove_tier_brick_cbk, gf_cli_list_volume_cbk. updates: bz#1633930 Change-Id: I68a650fb972db18c90e6581a960eae3018f32d40 Signed-off-by: Sunny Kumar --- cli/src/cli-rpc-ops.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'cli/src') diff --git a/cli/src/cli-rpc-ops.c b/cli/src/cli-rpc-ops.c index 13ff21a6c17..e1422cfd68a 100644 --- a/cli/src/cli-rpc-ops.c +++ b/cli/src/cli-rpc-ops.c @@ -1178,6 +1178,9 @@ gf_cli_create_volume_cbk(struct rpc_req *req, struct iovec *iov, int count, out: cli_cmd_broadcast_response(ret); gf_free_xdr_cli_rsp(rsp); + + if (rsp_dict) + dict_unref(rsp_dict); return ret; } @@ -1251,6 +1254,9 @@ gf_cli_delete_volume_cbk(struct rpc_req *req, struct iovec *iov, int count, out: cli_cmd_broadcast_response(ret); gf_free_xdr_cli_rsp(rsp); + + if (rsp_dict) + dict_unref(rsp_dict); gf_log("", GF_LOG_DEBUG, "Returning with %d", ret); return ret; } @@ -1336,6 +1342,9 @@ out: cli_local_wipe(local); gf_free_xdr_cli_rsp(rsp); + if (dict) + dict_unref(dict); + gf_log("", GF_LOG_DEBUG, "Returning with %d", ret); return ret; } @@ -1468,6 +1477,9 @@ gf_cli_start_volume_cbk(struct rpc_req *req, struct iovec *iov, int count, out: cli_cmd_broadcast_response(ret); gf_free_xdr_cli_rsp(rsp); + + if (rsp_dict) + dict_unref(rsp_dict); return ret; } @@ -1543,6 +1555,9 @@ out: cli_cmd_broadcast_response(ret); gf_free_xdr_cli_rsp(rsp); + if (rsp_dict) + dict_unref(rsp_dict); + return ret; } @@ -2599,6 +2614,9 @@ gf_cli_remove_tier_brick_cbk(struct rpc_req *req, struct iovec *iov, int count, out: cli_cmd_broadcast_response(ret); gf_free_xdr_cli_rsp(rsp); + + if (rsp_dict) + dict_unref(rsp_dict); return ret; } @@ -4056,6 +4074,7 @@ out: cli_cmd_broadcast_response(ret); } gf_free_xdr_cli_rsp(rsp); + return ret; } @@ -9341,6 +9360,9 @@ gf_cli_list_volume_cbk(struct rpc_req *req, struct iovec *iov, int count, out: cli_cmd_broadcast_response(ret); gf_free_xdr_cli_rsp(rsp); + + if (dict) + dict_unref(dict); return ret; } -- cgit