From a495365d09138bf0f07504cfe9b6ea2de858e18e Mon Sep 17 00:00:00 2001 From: Jim Fehlig Date: Fri, 18 Nov 2011 14:54:38 -0700 Subject: [PATCH] Don't copy sexpr node value that is an empty string Xen4.1 initializes some unspecified sexpr config items to an empty string, unlike previous Xen versions that would leave the item unset. E.g. the kernel item for an HVM guest (non-direct kernel boot): Xen4.0 and earlier ... (image (hvm (kernel ) ... Xen4.1 ... (image (hvm (kernel '') ... The empty string for kernel causes some grief in subsequent parsing where existence of specified kernel is checked, e.g. if (!def->os.kernel) ... This patch solves the problem in sexpr_node_copy() by not copying a node containing an empty string. --- src/util/sexpr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/util/sexpr.c b/src/util/sexpr.c index 0e300870fa..3523d76f28 100644 --- a/src/util/sexpr.c +++ b/src/util/sexpr.c @@ -519,7 +519,7 @@ int sexpr_node_copy(const struct sexpr *sexpr, const char *node, char **dst) { const char *val = sexpr_node(sexpr, node); - if (val) { + if (val && *val) { *dst = strdup(val); if (!(*dst)) return -1; -- GitLab