[PATCH] vbox: check getenv("DISPLAY") for NULL in vboxDomainDumpXML

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]