
On 04/01/2014 07:22 AM, Martin Kletzander wrote:
On all the places where qemuAgentComand() was called, we did a check for errors in the reply. Unfortunately, some of the places called qemuAgentCheckError() without checking for non-null reply which might have resulted in a crash.
So this patch makes the error-checking part of qemuAgentCommand() itself, which:
a) makes it look better,
b) makes the check mandatory and, most importantly,
c) checks for the errors if and only if it is appropriate.
This actually fixes a potential crashers when qemuAgentComand() returned 0, but reply was NULL. Having said that, it *should* fix the following bug:
https://bugzilla.redhat.com/show_bug.cgi?id=1058149
Signed-off-by: Martin Kletzander <mkletzan@redhat.com> --- src/qemu/qemu_agent.c | 27 +++++++-------------------- 1 file changed, 7 insertions(+), 20 deletions(-)
+static int qemuAgentCheckError(virJSONValuePtr cmd, virJSONValuePtr reply); +
Is it worth hoisting this function into topological order, so we don't need a forward declaration? But that's better as a followup patch (no-op code motion should be separate from refactoring). ACK -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org