From 1b6ebb2f7d18f51f732670b13f1aa66f79bea77f Mon Sep 17 00:00:00 2001 From: Ettore Perazzoli Date: Tue, 27 Jun 2000 16:28:31 +0000 Subject: When loading the description, strdup() the string in the XML tree so that we don't crash when freeing the XML tree. svn path=/trunk/; revision=3761 --- filter/ChangeLog | 6 ++++++ filter/filter-xml.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'filter') diff --git a/filter/ChangeLog b/filter/ChangeLog index c76176857f..437146336e 100644 --- a/filter/ChangeLog +++ b/filter/ChangeLog @@ -1,3 +1,9 @@ +2000-06-27 Ettore Perazzoli + + * filter-xml.c (load_desc): Strdup content before assigning the + value. Also, no need to check for NULL when g_strdup()ing as + g_strdup() returns NULL for a NULL arg. + 2000-06-27 Ettore Perazzoli * Makefile.am (INCLUDES): `-I$(top_builddir)/shell' so that it diff --git a/filter/filter-xml.c b/filter/filter-xml.c index 1979ab76f7..dc8271ae7e 100644 --- a/filter/filter-xml.c +++ b/filter/filter-xml.c @@ -125,10 +125,10 @@ load_desc(xmlNodePtr node, int type, int vartype, char *varname) while (node) { if (node->content) { desc = g_malloc0(sizeof(*desc)); - desc->data = node->content; + desc->data = g_strdup (node->content); desc->type = type; desc->vartype = vartype; - desc->varname = varname?g_strdup(varname):0; + desc->varname = g_strdup(varname); d(printf(" **** node name = %s var name = %s var type = %s\n", node->name, varname, detokenise(vartype))); list = g_list_append(list, desc); d(printf("appending '%s'\n", node->content)); -- cgit v1.2.3