Skip to content

Commit fdcb8b4

Browse files
[sixtp-dom-generators.cpp] char* must be freed
1 parent 8f7eecd commit fdcb8b4

File tree

1 file changed

+15
-7
lines changed

1 file changed

+15
-7
lines changed

libgnucash/backend/xml/sixtp-dom-generators.cpp

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -246,18 +246,26 @@ add_kvp_value_node (xmlNodePtr node, const gchar* tag, KvpValue* val)
246246
switch (val->get_type ())
247247
{
248248
case KvpValue::Type::INT64:
249-
add_text_to_node (val_node, "integer",
250-
g_strdup_printf ("%" G_GINT64_FORMAT,
251-
val->get<int64_t> ()));
249+
{
250+
char *int_str = g_strdup_printf ("%" G_GINT64_FORMAT, val->get<int64_t> ());
251+
add_text_to_node (val_node, "integer", int_str);
252+
g_free (int_str);
252253
break;
254+
}
253255
case KvpValue::Type::DOUBLE:
254-
add_text_to_node (val_node, "double",
255-
double_to_string (val->get<double> ()));
256+
{
257+
char *dbl_str = double_to_string (val->get<double> ());
258+
add_text_to_node (val_node, "double", dbl_str);
259+
g_free (dbl_str);
256260
break;
261+
}
257262
case KvpValue::Type::NUMERIC:
258-
add_text_to_node (val_node, "numeric",
259-
gnc_numeric_to_string (val->get<gnc_numeric> ()));
263+
{
264+
char *num_str = gnc_numeric_to_string (val->get<gnc_numeric> ());
265+
add_text_to_node (val_node, "numeric", num_str);
266+
g_free (num_str);
260267
break;
268+
}
261269
case KvpValue::Type::STRING:
262270
xmlSetProp (val_node, BAD_CAST "type", BAD_CAST "string");
263271
break;

0 commit comments

Comments
 (0)