diff options
Diffstat (limited to 'cli/src/cli-cmd-parser.c')
-rw-r--r-- | cli/src/cli-cmd-parser.c | 17 |
1 files changed, 14 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; } |