From 14435163a086c0bcdff04308077fa46a5fa08bb0 Mon Sep 17 00:00:00 2001 From: Daniel Veillard Date: Fri, 26 Jun 2009 18:14:16 +0000 Subject: [PATCH] * src/xend_internal.c: avoid a segfault when dumping XML with recent xen versions, patch by Sascha, fixes #503254 daniel --- ChangeLog | 5 +++++ src/xend_internal.c | 10 +++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 27c8773d5f..0298404730 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri Jun 26 20:11:38 CEST 2009 Daniel Veillard + + * 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 * src/libvirt_private.syms src/parthelper.c src/storage_backend_disk.c diff --git a/src/xend_internal.c b/src/xend_internal.c index b211bb6293..55ffd3f9a5 100644 --- a/src/xend_internal.c +++ b/src/xend_internal.c @@ -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;