From c5842d9cfeb9428a1f96dddcdc240249172bffdc Mon Sep 17 00:00:00 2001 From: Aki Tuomi Date: Thu, 28 Jan 2021 11:07:32 +0200 Subject: [PATCH] lib-mail: message-snippet - Free html parser before making new If html parser has already been initialized, free it before restarting the parser. Fixes memory leak introduced by 7f7be2cbf68f8a202a688d5bc50f82483d461643 --- src/lib-mail/message-snippet.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lib-mail/message-snippet.c b/src/lib-mail/message-snippet.c index f99e37a2df..4be6233c29 100644 --- a/src/lib-mail/message-snippet.c +++ b/src/lib-mail/message-snippet.c @@ -170,8 +170,12 @@ int message_snippet_generate(struct istream *input, if (ct == NULL) /* text/plain */ ; else if (mail_html2text_content_type_match(ct)) { + mail_html2text_deinit(&ctx.html2text); ctx.html2text = mail_html2text_init(0); - ctx.plain_output = buffer_create_dynamic(pool, 1024); + if (ctx.plain_output == NULL) { + ctx.plain_output = + buffer_create_dynamic(pool, 1024); + } } else if (strncasecmp(ct, "text/", 5) != 0) break; continue; -- 2.47.3