vsh: Properly initialize res

The 'res' variable was only being initialized to NULL in the
if (!state) path; however, that path never used res and evenutally
res is assigned one of two results based on a pair of if then else if
conditions. If for some reason neither of those paths was taken and
the (!state) path wasn't taken, then 'res' would be indeterminate.

Found by Coverity, probably a false positive based on code paths, but
better safe than sorry for the future.

Signed-off-by: John Ferlan <jferlan@redhat.com>
This commit is contained in:
John Ferlan 2016-07-18 14:37:38 -04:00
parent 7ca6cd7def
commit bd93ba64fd

View File

@ -2636,7 +2636,8 @@ vshReadlineParse(const char *text, int state)
vshCommandToken tk;
static const vshCmdDef *cmd;
const vshCmdOptDef *opt;
char *tkdata, *optstr, *const_tkdata, *res;
char *tkdata, *optstr, *const_tkdata;
char *res = NULL;
static char *ctext, *sanitized_text;
static uint64_t const_opts_need_arg, const_opts_required, const_opts_seen;
uint64_t opts_need_arg, opts_required, opts_seen;
@ -2656,7 +2657,6 @@ vshReadlineParse(const char *text, int state)
tkdata = NULL;
sanitized_text = NULL;
optstr = NULL;
res = NULL;
/* Sanitize/de-quote the autocomplete text */
tk = sanitizer.getNextArg(NULL, &sanitizer, &sanitized_text, false);