static void
accumulate_mail_op_strings (ModestMailOperation *op, gchar **str)
{
- *str = g_strdup_printf ("%s\n%s", *str, modest_mail_operation_to_string (op));
+ gchar *mail_op_to_str = modest_mail_operation_to_string (op);
+ *str = g_strdup_printf ("%s\n%s", *str, mail_op_to_str);
+ g_free (mail_op_to_str);
}
len = g_queue_get_length (priv->op_queue);
str = g_strdup_printf ("mail operation queue (%02d)\n-------------------------", len);
if (len == 0) {
- g_free (str);
- str = g_strdup_printf ("%s\n%s", str, "<empty>");
+ gchar *copy;
+ copy = str;
+ str = g_strdup_printf ("%s\n%s", copy, "<empty>");
+ g_free (copy);
} else {
g_mutex_lock (priv->queue_lock);
g_queue_foreach (priv->op_queue, (GFunc)accumulate_mail_op_strings, &str);