]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: monitor: Don't bother extracting vCPU halted state in text monitor
authorPeter Krempa <pkrempa@redhat.com>
Thu, 18 May 2017 11:27:24 +0000 (13:27 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Fri, 19 May 2017 07:31:19 +0000 (09:31 +0200)
The code causes the 'offset' variable to be overwritten (possibly with
NULL if neither of the vCPUs is halted) which causes a crash since the
variable is still used after that part.

Additionally there's a bug, since strstr() would look up the '(halted)'
string in the whole string rather than just the currently processed line
the returned data is completely bogus.

Rather than switching to single line parsing let's remove the code
altogether since it has a commonly used JSON monitor alternative and
the data itself is not very useful to report.

The code was introduced in commit cc5e695bde

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1452106

src/qemu/qemu_monitor_text.c

index 9c9eeea01dff3442cdadc89373661cb2e1be5799..66c94fbcd23a6735499229aa5cb72e4cbe40b72b 100644 (file)
@@ -552,12 +552,6 @@ qemuMonitorTextQueryCPUs(qemuMonitorPtr mon,
         cpu.qemu_id = cpuid;
         cpu.tid = tid;
 
-        /* Extract halted indicator */
-        if ((offset = strstr(line, "(halted)")) != NULL)
-            cpu.halted = true;
-        else
-            cpu.halted = false;
-
         if (VIR_APPEND_ELEMENT_COPY(cpus, ncpus, cpu) < 0) {
             ret = -1;
             goto cleanup;