[libvirt] [PATCH] Fix crash in virsh after bogus command.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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);
-- 
1.6.6.1

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]