Blame SOURCES/libvirt-qemu-monitor-Don-t-bother-extracting-vCPU-halted-state-in-text-monitor.patch

6d3351
From 3dfdc7e73f15216b0a9ef5858329c4daf3142ed5 Mon Sep 17 00:00:00 2001
6d3351
Message-Id: <3dfdc7e73f15216b0a9ef5858329c4daf3142ed5@dist-git>
6d3351
From: Peter Krempa <pkrempa@redhat.com>
6d3351
Date: Fri, 19 May 2017 09:44:14 +0200
6d3351
Subject: [PATCH] qemu: monitor: Don't bother extracting vCPU halted state in
6d3351
 text monitor
6d3351
6d3351
The code causes the 'offset' variable to be overwritten (possibly with
6d3351
NULL if neither of the vCPUs is halted) which causes a crash since the
6d3351
variable is still used after that part.
6d3351
6d3351
Additionally there's a bug, since strstr() would look up the '(halted)'
6d3351
string in the whole string rather than just the currently processed line
6d3351
the returned data is completely bogus.
6d3351
6d3351
Rather than switching to single line parsing let's remove the code
6d3351
altogether since it has a commonly used JSON monitor alternative and
6d3351
the data itself is not very useful to report.
6d3351
6d3351
The code was introduced in commit cc5e695bde
6d3351
6d3351
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1452106
6d3351
(cherry picked from commit 6ff99e95771bb33531ea6733a823bc6a30158256)
6d3351
6d3351
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
6d3351
---
6d3351
 src/qemu/qemu_monitor_text.c | 6 ------
6d3351
 1 file changed, 6 deletions(-)
6d3351
6d3351
diff --git a/src/qemu/qemu_monitor_text.c b/src/qemu/qemu_monitor_text.c
6d3351
index 9c9eeea01..66c94fbcd 100644
6d3351
--- a/src/qemu/qemu_monitor_text.c
6d3351
+++ b/src/qemu/qemu_monitor_text.c
6d3351
@@ -552,12 +552,6 @@ qemuMonitorTextQueryCPUs(qemuMonitorPtr mon,
6d3351
         cpu.qemu_id = cpuid;
6d3351
         cpu.tid = tid;
6d3351
 
6d3351
-        /* Extract halted indicator */
6d3351
-        if ((offset = strstr(line, "(halted)")) != NULL)
6d3351
-            cpu.halted = true;
6d3351
-        else
6d3351
-            cpu.halted = false;
6d3351
-
6d3351
         if (VIR_APPEND_ELEMENT_COPY(cpus, ncpus, cpu) < 0) {
6d3351
             ret = -1;
6d3351
             goto cleanup;
6d3351
-- 
6d3351
2.13.0
6d3351