From 766ae2a2738ccf4763c1b34b230c8ef621af7d14 Mon Sep 17 00:00:00 2001
From: Stephan Bosch <stephan@rename-it.nl>
Date: Wed, 30 Dec 2015 21:34:33 +0100
Subject: [PATCH] lib-sieve: message body: Explicitly prevent attempting text
 extraction from header and multipart body parts.

---
 src/lib-sieve/sieve-message.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/lib-sieve/sieve-message.c b/src/lib-sieve/sieve-message.c
index 137fc38c3..67c739826 100644
--- a/src/lib-sieve/sieve-message.c
+++ b/src/lib-sieve/sieve-message.c
@@ -971,7 +971,9 @@ static void sieve_message_part_save
 
 	/* Extract text if requested */
 	result_buf = buf;
-	if ( extract_text ) {
+	if ( extract_text && body_part->children == NULL &&
+		!body_part->epilogue ) {
+
 		if ( mail_html2text_content_type_match
 			(body_part->content_type) ) {
 			struct mail_html2text *html2text;
@@ -1240,7 +1242,7 @@ static int sieve_message_parts_add_missing
 				/* Save headers for message/rfc822 part */
 				if ( header_part != NULL ) {
 					sieve_message_part_save
-						(renv, buf, header_part, extract_text);
+						(renv, buf, header_part, FALSE);
 					header_part = NULL;
 				}
 
-- 
GitLab