On Thu, Mar 11, 2010 at 06:00:54PM -0500, Chris Lalancette wrote: > 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. Make sure to set ctl->cmd to NULL after > freeing it. > > Signed-off-by: Chris Lalancette <clalance@xxxxxxxxxx> > --- > tools/virsh.c | 4 +++- > 1 files changed, 3 insertions(+), 1 deletions(-) > > diff --git a/tools/virsh.c b/tools/virsh.c > index c6e3f2a..eeaddbc 100644 > --- a/tools/virsh.c > +++ b/tools/virsh.c > @@ -8643,8 +8643,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); ACK, serious one, pushed ! Thanks ! Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@xxxxxxxxxxxx | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list