[libvirt] [PATCH] util: Fix bug which will cause libvirtd crash

Osier Yang jyang at redhat.com
Mon Dec 6 09:41:10 UTC 2010


"virCommandRun": if "cmd->outbuf" or "cmd->errbuf" is NULL,
libvirtd will be crashed when trying to start a qemu domain
(which invokes "virCommandRun"), it caused by we try to use
"*cmd->outbuf" and "*cmd->errbuf" regardless of cmd->outbuf
or cmd->errbuf is NULL.

* src/util/command.c (virCommandRun)
---
 src/util/command.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/util/command.c b/src/util/command.c
index aa43f76..38d462b 100644
--- a/src/util/command.c
+++ b/src/util/command.c
@@ -931,8 +931,8 @@ virCommandRun(virCommandPtr cmd, int *exitstatus)
         ret = -1;

     VIR_DEBUG("Result stdout: '%s' stderr: '%s'",
-              NULLSTR(*cmd->outbuf),
-              NULLSTR(*cmd->errbuf));
+              cmd->outbuf ? NULLSTR(*cmd->outbuf) : "(null)",
+              cmd->errbuf ? NULLSTR(*cmd->errbuf) : "(null)");

     /* Reset any capturing, in case caller runs
      * this identical command again */
--
1.7.3.2




More information about the libvir-list mailing list