summaryrefslogtreecommitdiffstats
path: root/cli/src/cli-cmd-global.c
diff options
context:
space:
mode:
authorYaniv Kaul <ykaul@redhat.com>2019-06-05 20:16:40 +0300
committerAtin Mukherjee <amukherj@redhat.com>2019-07-16 13:34:56 +0000
commit7162c8ad9d404773656b4eb02c8fc17f067e7699 (patch)
treea83da6e6b2be8f4e38d83947347dad9ffb1ffa91 /cli/src/cli-cmd-global.c
parent6bf9637a93011298d032332ca93009ba4e377e46 (diff)
cli: defer create_frame() (and dict creation) to later stages.
Where possible, defer create_frame() - whenever possible, after command line verification, for example. Change-Id: Id6606e90e7ea6190f30b225c4733b229c519bb2f updates: bz#1193929 Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
Diffstat (limited to 'cli/src/cli-cmd-global.c')
-rw-r--r--cli/src/cli-cmd-global.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/cli/src/cli-cmd-global.c b/cli/src/cli-cmd-global.c
index d0729ac1f0a..d7c4d97ad72 100644
--- a/cli/src/cli-cmd-global.c
+++ b/cli/src/cli-cmd-global.c
@@ -101,10 +101,6 @@ cli_cmd_get_state_cbk(struct cli_state *state, struct cli_cmd_word *word,
cli_local_t *local = NULL;
char *op_errstr = NULL;
- frame = create_frame(THIS, THIS->ctx->pool);
- if (!frame)
- goto out;
-
ret = cli_cmd_get_state_parse(state, words, wordcount, &options,
&op_errstr);
@@ -120,6 +116,12 @@ cli_cmd_get_state_cbk(struct cli_state *state, struct cli_cmd_word *word,
goto out;
}
+ frame = create_frame(THIS, THIS->ctx->pool);
+ if (!frame) {
+ ret = -1;
+ goto out;
+ }
+
CLI_LOCAL_INIT(local, words, frame, options);
proc = &cli_rpc_prog->proctable[GLUSTER_CLI_GET_STATE];