mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-13 00:46:03 -06:00
Fix crash in virsh after bogus command
If you ran virsh in interactive mode and ran a command that virsh could not parse, it would then SEGV on subsequent commands. The problem is that we are freeing the vshCmd structure in the syntaxError label at the end of vshCommandParse, but forgetting to set ctl->cmd to NULL. This means that on the next command, we would try to free the same structure again, leading to badness. * tools/virsh.c: Make sure to set ctl->cmd to NULL after freeing it in vshCommandParse()
This commit is contained in:
parent
be2a53e6e0
commit
3ebbc241a1
@ -8639,8 +8639,10 @@ vshCommandParse(vshControl *ctl, char *cmdstr)
|
||||
return TRUE;
|
||||
|
||||
syntaxError:
|
||||
if (ctl->cmd)
|
||||
if (ctl->cmd) {
|
||||
vshCommandFree(ctl->cmd);
|
||||
ctl->cmd = NULL;
|
||||
}
|
||||
if (first)
|
||||
vshCommandOptFree(first);
|
||||
VIR_FREE(tkdata);
|
||||
|
Loading…
Reference in New Issue
Block a user