diff options
-rw-r--r-- | e-util/ChangeLog | 5 | ||||
-rw-r--r-- | e-util/e-xml-utils.c | 11 | ||||
-rw-r--r-- | e-util/e-xml-utils.c-56826 | 11 |
3 files changed, 19 insertions, 8 deletions
diff --git a/e-util/ChangeLog b/e-util/ChangeLog index a672adfa2d..7f2d602f62 100644 --- a/e-util/ChangeLog +++ b/e-util/ChangeLog @@ -1,3 +1,8 @@ +2000-05-16 Christopher James Lahey <clahey@helixcode.com> + + * e-xml-utils.c: xmlGetProp appears to return malloced memory. + Thus we must free it. + 2000-05-15 Ettore Perazzoli <ettore@helixcode.com> * e-util.c (e_free_string_list): New function. diff --git a/e-util/e-xml-utils.c b/e-util/e-xml-utils.c index 33b9d28235..89f8591e8a 100644 --- a/e-util/e-xml-utils.c +++ b/e-util/e-xml-utils.c @@ -23,6 +23,7 @@ #include <locale.h> #include "e-xml-utils.h" #include <gnome-xml/parser.h> +#include <gnome-xml/xmlmemory.h> xmlNode *e_xml_get_child_by_name(xmlNode *parent, const xmlChar *child_name) @@ -74,15 +75,17 @@ int e_xml_get_integer_prop_by_name(xmlNode *parent, const xmlChar *prop_name) { xmlChar *prop; + int ret_val = 0; g_return_val_if_fail (parent != NULL, 0); g_return_val_if_fail (prop_name != NULL, 0); prop = xmlGetProp(parent, prop_name); - if (prop) - return atoi(prop); - else - return 0; + if (prop) { + ret_val = atoi(prop); + xmlFree(prop); + } + return ret_val; } void diff --git a/e-util/e-xml-utils.c-56826 b/e-util/e-xml-utils.c-56826 index 33b9d28235..89f8591e8a 100644 --- a/e-util/e-xml-utils.c-56826 +++ b/e-util/e-xml-utils.c-56826 @@ -23,6 +23,7 @@ #include <locale.h> #include "e-xml-utils.h" #include <gnome-xml/parser.h> +#include <gnome-xml/xmlmemory.h> xmlNode *e_xml_get_child_by_name(xmlNode *parent, const xmlChar *child_name) @@ -74,15 +75,17 @@ int e_xml_get_integer_prop_by_name(xmlNode *parent, const xmlChar *prop_name) { xmlChar *prop; + int ret_val = 0; g_return_val_if_fail (parent != NULL, 0); g_return_val_if_fail (prop_name != NULL, 0); prop = xmlGetProp(parent, prop_name); - if (prop) - return atoi(prop); - else - return 0; + if (prop) { + ret_val = atoi(prop); + xmlFree(prop); + } + return ret_val; } void |