diff --git a/src/launch-libvirt.c b/src/launch-libvirt.c index f6fa36f04..c055504a1 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)); diff --git a/src/launch.c b/src/launch.c index 7ca6fe11b..a0d6c121f 100644 --- a/src/launch.c +++ b/src/launch.c @@ -320,7 +320,7 @@ guestfs__config (guestfs_h *g, qp = safe_malloc (g, sizeof *qp); qp->qemu_param = safe_strdup (g, qemu_param); - qp->qemu_value = safe_strdup (g, qemu_value); + qp->qemu_value = qemu_value ? safe_strdup (g, qemu_value) : NULL; qp->next = g->qemu_params; g->qemu_params = qp;