@@ -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