]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
* src/xend_internal.c: avoid a segfault when dumping XML with recent
authorDaniel Veillard <veillard@redhat.com>
Fri, 26 Jun 2009 18:14:16 +0000 (18:14 +0000)
committerDaniel Veillard <veillard@redhat.com>
Fri, 26 Jun 2009 18:14:16 +0000 (18:14 +0000)
  xen versions, patch by Sascha, fixes #503254
daniel

ChangeLog
src/xend_internal.c

index 27c8773d5fd15f553a7456bf5288dd326ae17544..029840473030981cee010b8b9228cf93eb452302 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Fri Jun 26 20:11:38 CEST 2009 Daniel Veillard <veillard@redhat.com>
+
+       * src/xend_internal.c: avoid a segfault when dumping XML with recent
+         xen versions, patch by Sascha, fixes #503254
+
 Fri Jun 26 18:15:08 CEST 2009 Daniel Veillard <veillard@redhat.com>
 
        * src/libvirt_private.syms src/parthelper.c src/storage_backend_disk.c
index b211bb6293355bf68e33f56f947021bd7bb8e675..55ffd3f9a5004e681c8ffb2279d27965eb42e956 100644 (file)
@@ -2079,7 +2079,15 @@ xenDaemonParseSxprGraphicsNew(virConnectPtr conn,
         if (sexpr_lookup(node, "device/vfb")) {
             /* New style graphics config for PV guests in >= 3.0.4,
              * or for HVM guests in >= 3.0.5 */
-            tmp = sexpr_node(node, "device/vfb/type");
+            if (sexpr_node(node, "device/vfb/type")) {
+                tmp = sexpr_node(node, "device/vfb/type");
+            } else if (sexpr_node(node, "device/vfb/vnc")) {
+                tmp = "vnc";
+            } else if (sexpr_node(node, "device/vfb/sdl")) {
+                tmp = "sdl";
+            } else {
+                tmp = "unknown";
+            }
 
             if (VIR_ALLOC(graphics) < 0)
                 goto no_memory;