talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

commit eb9beace00cd9d94fdd8f4950c24251f9e862acf
parent 3117fda50fcdd9cb79114b6abd3cad92950b0307
Author: Andrej Kacian <ticho@claws-mail.org>
Date:   Thu, 25 Jun 2015 17:58:50 +0200

Handle an unlikely fopen failure in compose_write_to_file()

Diffstat:
Msrc/compose.c | 19+++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)

diff --git 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"); }