diff options
Diffstat (limited to 'cli')
-rw-r--r-- | cli/src/cli-cmd-parser.c | 17 | ||||
-rw-r--r-- | cli/src/cli-rpc-ops.c | 4 |
2 files changed, 18 insertions, 3 deletions
diff --git a/cli/src/cli-cmd-parser.c b/cli/src/cli-cmd-parser.c index 02eb2c36992..f447ccae3d5 100644 --- a/cli/src/cli-cmd-parser.c +++ b/cli/src/cli-cmd-parser.c @@ -367,7 +367,7 @@ cli_cmd_volume_create_parse (const char **words, int wordcount, dict_t **options ret = dict_set_dynstr (dict, "transport", trans_type); if (ret) goto out; - + trans_type = NULL; ret = dict_set_dynstr (dict, "bricks", bricks); if (ret) @@ -385,6 +385,10 @@ out: if (dict) dict_destroy (dict); } + + if (trans_type) + GF_FREE (trans_type); + return ret; } @@ -1576,8 +1580,12 @@ cli_cmd_gsync_set_parse (const char **words, int wordcount, dict_t **options) ret = dict_set_dynstr (dict, "op_value", append_str); } - if (!subop || dict_set_dynstr (dict, "subop", subop) != 0) - ret = -1; + ret = -1; + if (subop) { + ret = dict_set_dynstr (dict, "subop", subop); + if (!ret) + subop = NULL; + } } out: @@ -1589,6 +1597,9 @@ out: } else *options = dict; + if (subop) + GF_FREE (subop); + return ret; } diff --git a/cli/src/cli-rpc-ops.c b/cli/src/cli-rpc-ops.c index 7cc85e48320..091c74f5406 100644 --- a/cli/src/cli-rpc-ops.c +++ b/cli/src/cli-rpc-ops.c @@ -2780,6 +2780,7 @@ done: if (local) { local->dict = dict_ref (req_dict); frame->local = local; + local = NULL; } ret = dict_allocate_and_serialize (req_dict, @@ -2798,6 +2799,9 @@ done: (xdrproc_t) xdr_gf_cli_req); out: + if (local) + cli_local_wipe (local); + gf_log ("cli", GF_LOG_DEBUG, "Returning %d", ret); return ret; |