From 909e454d0c2fb27066263b77c795e1a7270d7162 Mon Sep 17 00:00:00 2001 From: martin-s Date: Sun, 23 Nov 2008 15:14:31 +0000 Subject: [PATCH] Fix:Core:Correctly handle attribute_names/values git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk@1746 ffa7fe5e-494d-0410-b361-a75ebd5db220 --- navit/navit/xmlconfig.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/navit/navit/xmlconfig.c b/navit/navit/xmlconfig.c index 59d61f8..f2c048d 100644 --- a/navit/navit/xmlconfig.c +++ b/navit/navit/xmlconfig.c @@ -676,11 +676,13 @@ xi_start_element(GMarkupParseContext *context, while (attribute_names[count++*ATTR_DISTANCE]); xistate=g_new0(struct xistate, 1); xistate->element=element_name; - xistate->attribute_names=g_new(const char *, count); - xistate->attribute_values=g_new(const char *, count); + xistate->attribute_names=g_new0(const char *, count); + xistate->attribute_values=g_new0(const char *, count); for (i = 0 ; i < count ; i++) { - xistate->attribute_names[i]=g_strdup(attribute_names[i*ATTR_DISTANCE]); - xistate->attribute_values[i]=g_strdup(attribute_values[i*ATTR_DISTANCE]); + if (attribute_names[i*ATTR_DISTANCE] && attribute_values[i*ATTR_DISTANCE]) { + xistate->attribute_names[i]=g_strdup(attribute_names[i*ATTR_DISTANCE]); + xistate->attribute_values[i]=g_strdup(attribute_values[i*ATTR_DISTANCE]); + } } xistate->parent=doc->last; -- 2.7.4