The outer multipart was not being freed after writing.
if (msg->content->next)
msg->content = mutt_make_multipart (msg->content);
- if (mutt_write_fcc (mutt_b2s (fname), msg, NULL, 0, NULL) < 0)
- msg->content = mutt_remove_multipart (msg->content);
- else
+ if (mutt_write_fcc (mutt_b2s (fname), msg, NULL, 0, NULL) == 0)
mutt_message _("Message written.");
+
+ msg->content = mutt_remove_multipart (msg->content);
}
break;