gnucash stable: [sixtp-dom-generators.cpp] char* must be freed

Christopher Lam clam at code.gnucash.org
Sat Nov 11 08:57:09 EST 2023


Updated	 via  https://github.com/Gnucash/gnucash/commit/fdcb8b46 (commit)
	from  https://github.com/Gnucash/gnucash/commit/8f7eecd3 (commit)



commit fdcb8b46bd3f819c00a2a6f9f88e5a08c37e5c20
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Tue Nov 7 07:50:46 2023 +0800

    [sixtp-dom-generators.cpp] char* must be freed

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<int64_t> ()));
+    {
+        char *int_str = g_strdup_printf ("%" G_GINT64_FORMAT, val->get<int64_t> ());
+        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<double> ()));
+    {
+        char *dbl_str = double_to_string (val->get<double> ());
+        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<gnc_numeric> ()));
+    {
+        char *num_str = gnc_numeric_to_string (val->get<gnc_numeric> ());
+        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;



Summary of changes:
 libgnucash/backend/xml/sixtp-dom-generators.cpp | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)



More information about the gnucash-changes mailing list