From: Daniel P. Berrange Date: Fri, 14 Sep 2012 14:35:33 +0000 (+0100) Subject: Fix initialization of virCommandPtr when creating QEMU argv X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=731c911ceb977a11572f4311e8cd96740337bfa1;p=people%2Fliuw%2Flibxenctrl-split%2Flibvirt.git Fix initialization of virCommandPtr when creating QEMU argv If the qemuBuildCommandLine method raised an error before the virCommandPtr instance was created, the local var would not be initialized, resulting in a possible SEGV in the error cleanup branch. Also add some debugging of the method params --- diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index d0c8e22af..b8c5658f5 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -4407,12 +4407,18 @@ qemuBuildCommandLine(virConnectPtr conn, char *smp; int last_good_net = -1; bool hasHwVirt = false; - virCommandPtr cmd; + virCommandPtr cmd = NULL; bool emitBootindex = false; int usbcontroller = 0; bool usblegacy = false; uname_normalize(&ut); + VIR_DEBUG("conn=%p driver=%p def=%p mon=%p json=%d " + "caps=%p migrateFrom=%s migrateFD=%d " + "snapshot=%p vmop=%d", + conn, driver, def, monitor_chr, monitor_json, + caps, migrateFrom, migrateFd, snapshot, vmop); + virUUIDFormat(def->uuid, uuid); emulator = def->emulator;