talons

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

commit 1ffe0d0d1a4433fd841d282a9a65161044b08e21
parent e746281f5fd9a7678550c29c5618f67c50ee055b
Author: Andrej Kacian <ticho@claws-mail.org>
Date:   Sun,  7 Dec 2014 23:31:41 +0100

Properly allocate buffer in conv_encode_header_full() for quoted-printable encoding. Closes bug #3338, reported by Michael Hughes.

Diffstat:
Msrc/codeconv.c | 9+++++++--
1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/codeconv.c b/src/codeconv.c @@ -1722,8 +1722,10 @@ void conv_encode_header_full(gchar *dest, gint len, const gchar *src, if (use_base64) enc_str = g_base64_encode(out_str, out_str_len); - else + else { + Xalloca(enc_str, out_enc_str_len + 1, ); qp_q_encode(enc_str, out_str); + } g_free(out_str); @@ -1732,7 +1734,10 @@ void conv_encode_header_full(gchar *dest, gint len, const gchar *src, g_snprintf(destp, mime_block_len + 1, MIMESEP_BEGIN "%s%s%s" MIMESEP_END, out_encoding, mimesep_enc, enc_str); - g_free(enc_str); + + if (use_base64) + g_free(enc_str); + destp += mime_block_len; srcp += cur_len;