From 1b364d74a8d42c956abdf4c5dbbc56cf1e250033 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 21 Sep 2012 12:42:53 +0100 Subject: launch: Handle guestfs_config qemu_value == NULL. The second parameter to 'config' may be NULL. In commit 52fa23d74f6308daf804c2330b0b27e0b4412594 (refactoring of guestfs_config) the code this got lost, and guestfs_config would segfault if qemu_value was NULL. Also this fixes the libvirt method to handle the same case. I checked libguestfs-1.18 and -1.16 branches, and this problem does NOT affect them. --- src/launch-libvirt.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src/launch-libvirt.c') diff --git a/src/launch-libvirt.c b/src/launch-libvirt.c index f6fa36f0..c055504a 100644 --- a/src/launch-libvirt.c +++ b/src/launch-libvirt.c @@ -1103,11 +1103,13 @@ construct_libvirt_xml_qemu_cmdline (guestfs_h *g, xmlTextWriterPtr xo) BAD_CAST qp->qemu_param)); XMLERROR (-1, xmlTextWriterEndElement (xo)); - XMLERROR (-1, xmlTextWriterStartElement (xo, BAD_CAST "qemu:arg")); - XMLERROR (-1, - xmlTextWriterWriteAttribute (xo, BAD_CAST "value", - BAD_CAST qp->qemu_value)); - XMLERROR (-1, xmlTextWriterEndElement (xo)); + if (qp->qemu_value) { + XMLERROR (-1, xmlTextWriterStartElement (xo, BAD_CAST "qemu:arg")); + XMLERROR (-1, + xmlTextWriterWriteAttribute (xo, BAD_CAST "value", + BAD_CAST qp->qemu_value)); + XMLERROR (-1, xmlTextWriterEndElement (xo)); + } } XMLERROR (-1, xmlTextWriterEndElement (xo)); -- cgit