talons

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

commit 34bfb629fcce5df9ad86994fff51f60ee7c0b5c7
parent 2f9a45ca063de741f02139ca0c94d0363b0ab608
Author: Colin Leroy <colin@colino.net>
Date:   Wed, 10 Oct 2018 09:59:10 +0200

Fix in-memory temporary file length

Diffstat:
Msrc/procmime.c | 8++++++--
1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/procmime.c b/src/procmime.c @@ -428,8 +428,10 @@ gboolean procmime_decode_content(MimeInfo *mimeinfo) err = TRUE; } } - if (tmpfp != outfp) + if (tmpfp != outfp) { + ftruncate(fileno(tmpfp), ftell(tmpfp)); claws_fclose(tmpfp); + } } else if (encoding == ENC_X_UUENCODE) { gchar outbuf[BUFFSIZE]; gint len; @@ -465,6 +467,7 @@ gboolean procmime_decode_content(MimeInfo *mimeinfo) g_warning("write error"); } + ftruncate(fileno(outfp), ftell(outfp)); claws_fclose(outfp); claws_fclose(infp); @@ -856,6 +859,7 @@ FILE *procmime_get_text_content(MimeInfo *mimeinfo) err = procmime_scan_text_content(mimeinfo, scan_fputs_cb, outfp); + ftruncate(fileno(outfp), ftell(outfp)); rewind(outfp); if (err == TRUE) { claws_fclose(outfp); @@ -897,7 +901,7 @@ FILE *procmime_get_binary_content(MimeInfo *mimeinfo) if (procmime_get_part_to_stream(outfp, mimeinfo) < 0) { return NULL; } - + ftruncate(fileno(outfp), ftell(outfp)); return outfp; }