talons

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

commit cb3f6bfba779f53100a9b21c09cb9489ad7469d0
parent 1be4e8b27b6cd7977df039ff5e34fd80fceb580a
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); @@ -838,6 +841,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); @@ -861,7 +865,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; }