]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: require reply from guest agent in qemuAgentGetInterfaces
authorJán Tomko <jtomko@redhat.com>
Fri, 4 Jan 2019 09:17:46 +0000 (10:17 +0100)
committerJán Tomko <jtomko@redhat.com>
Thu, 10 Jan 2019 11:09:48 +0000 (12:09 +0100)
Since its introduction in commit 0977b8aa071 (released in v1.2.14)
qemuAgentGetInterfaces calls qemuAgentCommand with needReply=false,
which allows qemuAgentCommand to return 0 even when it did not get
any reply from the agent.

Set needReply to true, since we dereference it right after.

This can be hit if libvirt is waiting for an event from the agent
(e.g. shutdown) and the agent cannot reply in time (e.g. due to
the guest being shut down), as reported in:
https://bugzilla.redhat.com/show_bug.cgi?id=1663051

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
src/qemu/qemu_agent.c

index 0f4dae37e34be005e7627187ca27a4a71d292737..80b789b5e04e6f40e60a3e204c71bb807149eb3e 100644 (file)
@@ -2043,7 +2043,7 @@ qemuAgentGetInterfaces(qemuAgentPtr mon,
     if (!(cmd = qemuAgentMakeCommand("guest-network-get-interfaces", NULL)))
         goto cleanup;
 
-    if (qemuAgentCommand(mon, cmd, &reply, false,
+    if (qemuAgentCommand(mon, cmd, &reply, true,
                          VIR_DOMAIN_QEMU_AGENT_COMMAND_BLOCK) < 0)
         goto cleanup;