From 1943caee5591d2dee6f68c06f83210333f0dac5b Mon Sep 17 00:00:00 2001 From: Richard Cohen Date: Wed, 5 Jul 2023 17:33:26 +0100 Subject: [PATCH] Fix memory leak on error path in text_to_dom_tree() --- libgnucash/backend/xml/sixtp-dom-generators.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/libgnucash/backend/xml/sixtp-dom-generators.cpp b/libgnucash/backend/xml/sixtp-dom-generators.cpp index 3a90aae72e..fca3563bbc 100644 --- a/libgnucash/backend/xml/sixtp-dom-generators.cpp +++ b/libgnucash/backend/xml/sixtp-dom-generators.cpp @@ -46,14 +46,16 @@ boolean_to_dom_tree (const char* tag, gboolean val) xmlNodePtr text_to_dom_tree (const char* tag, const char* str) { - xmlNodePtr result; - gchar* newstr = g_strdup (str); g_return_val_if_fail (tag, NULL); g_return_val_if_fail (str, NULL); - result = xmlNewNode (NULL, BAD_CAST tag); + + xmlNodePtr result = xmlNewNode (NULL, BAD_CAST tag); g_return_val_if_fail (result, NULL); + + gchar* newstr = g_strdup (str); xmlNodeAddContent (result, checked_char_cast (newstr)); g_free (newstr); + return result; }