From 731c911ceb977a11572f4311e8cd96740337bfa1 Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Fri, 14 Sep 2012 15:35:33 +0100 Subject: [PATCH] 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 --- src/qemu/qemu_command.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index d0c8e22af9..b8c5658f5a 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;