From eb9beace00cd9d94fdd8f4950c24251f9e862acf Mon Sep 17 00:00:00 2001 From: Andrej Kacian Date: Thu, 25 Jun 2015 17:58:50 +0200 Subject: [PATCH] Handle an unlikely fopen failure in compose_write_to_file() --- src/compose.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/compose.c b/src/compose.c index d854340ba..72c3fd4a7 100644 --- a/src/compose.c +++ b/src/compose.c @@ -5757,16 +5757,19 @@ static gint compose_write_to_file(Compose *compose, FILE *fp, gint action, gbool g_free(content); /* Now write the unencrypted body. */ - tmpfp = g_fopen(tmp_enc_file, "a"); - procmime_write_mimeinfo(mimemsg, tmpfp); - fclose(tmpfp); + if ((tmpfp = g_fopen(tmp_enc_file, "a")) != NULL) { + procmime_write_mimeinfo(mimemsg, tmpfp); + fclose(tmpfp); - outbox = folder_find_item_from_identifier(compose_get_save_to(compose)); - if (!outbox) - outbox = folder_get_default_outbox(); + outbox = folder_find_item_from_identifier(compose_get_save_to(compose)); + if (!outbox) + outbox = folder_get_default_outbox(); - procmsg_save_to_outbox(outbox, tmp_enc_file, TRUE); - claws_unlink(tmp_enc_file); + procmsg_save_to_outbox(outbox, tmp_enc_file, TRUE); + claws_unlink(tmp_enc_file); + } else { + g_warning("Can't open file %s\n", tmp_enc_file); + } } else { g_warning("couldn't get tempfile\n"); } -- 2.25.1