Otherwise this will segfault if DISPLAY is not defined. --- src/vbox/vbox_tmpl.c | 16 ++++++++++------ 1 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/vbox/vbox_tmpl.c b/src/vbox/vbox_tmpl.c index 1372f96..dfa76a6 100644 --- a/src/vbox/vbox_tmpl.c +++ b/src/vbox/vbox_tmpl.c @@ -1915,6 +1915,7 @@ static char *vboxDomainDumpXML(virDomainPtr dom, int flags) { vboxIID *iid = NULL; int gotAllABoutDef = -1; nsresult rc; + char *tmp; #if VBOX_API_VERSION == 2002 if (VIR_ALLOC(iid) < 0) { @@ -2191,12 +2192,15 @@ static char *vboxDomainDumpXML(virDomainPtr dom, int flags) { } else if ((vrdpPresent != 1) && (totalPresent == 0) && (VIR_ALLOC_N(def->graphics, 1) >= 0)) { if (VIR_ALLOC(def->graphics[def->ngraphics]) >= 0) { def->graphics[def->ngraphics]->type = VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP; - def->graphics[def->ngraphics]->data.desktop.display = strdup(getenv("DISPLAY")); - if (def->graphics[def->ngraphics]->data.desktop.display == NULL) { - virReportOOMError(); - /* just don't go to cleanup yet as it is ok to have - * display as NULL - */ + tmp = getenv("DISPLAY"); + if (tmp != NULL) { + def->graphics[def->ngraphics]->data.desktop.display = strdup(tmp); + if (def->graphics[def->ngraphics]->data.desktop.display == NULL) { + virReportOOMError(); + /* just don't go to cleanup yet as it is ok to have + * display as NULL + */ + } } totalPresent++; def->ngraphics++; -- 1.7.0.4 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list