From fdcb8b46bd3f819c00a2a6f9f88e5a08c37e5c20 Mon Sep 17 00:00:00 2001 From: Christopher Lam Date: Tue, 7 Nov 2023 07:50:46 +0800 Subject: [PATCH] [sixtp-dom-generators.cpp] char* must be freed --- .../backend/xml/sixtp-dom-generators.cpp | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/libgnucash/backend/xml/sixtp-dom-generators.cpp b/libgnucash/backend/xml/sixtp-dom-generators.cpp index fca3563bbc..f8de8d29c5 100644 --- a/libgnucash/backend/xml/sixtp-dom-generators.cpp +++ b/libgnucash/backend/xml/sixtp-dom-generators.cpp @@ -246,18 +246,26 @@ add_kvp_value_node (xmlNodePtr node, const gchar* tag, KvpValue* val) switch (val->get_type ()) { case KvpValue::Type::INT64: - add_text_to_node (val_node, "integer", - g_strdup_printf ("%" G_GINT64_FORMAT, - val->get ())); + { + char *int_str = g_strdup_printf ("%" G_GINT64_FORMAT, val->get ()); + add_text_to_node (val_node, "integer", int_str); + g_free (int_str); break; + } case KvpValue::Type::DOUBLE: - add_text_to_node (val_node, "double", - double_to_string (val->get ())); + { + char *dbl_str = double_to_string (val->get ()); + add_text_to_node (val_node, "double", dbl_str); + g_free (dbl_str); break; + } case KvpValue::Type::NUMERIC: - add_text_to_node (val_node, "numeric", - gnc_numeric_to_string (val->get ())); + { + char *num_str = gnc_numeric_to_string (val->get ()); + add_text_to_node (val_node, "numeric", num_str); + g_free (num_str); break; + } case KvpValue::Type::STRING: xmlSetProp (val_node, BAD_CAST "type", BAD_CAST "string"); break;