dovecot-2.2: lib-mail: message-decoder now always sets output->s...

dovecot at dovecot.org dovecot at dovecot.org
Wed Jan 14 23:23:31 UTC 2015


details:   http://hg.dovecot.org/dovecot-2.2/rev/7250ccf9ab4c
changeset: 18153:7250ccf9ab4c
user:      Timo Sirainen <tss at iki.fi>
date:      Thu Jan 15 01:11:34 2015 +0200
description:
lib-mail: message-decoder now always sets output->size=0 when headers are returned.

diffstat:

 src/lib-mail/message-decoder.c      |  5 +++--
 src/lib-mail/test-message-decoder.c |  3 ++-
 2 files changed, 5 insertions(+), 3 deletions(-)

diffs (36 lines):

diff -r 38e807433e2f -r 7250ccf9ab4c src/lib-mail/message-decoder.c
--- a/src/lib-mail/message-decoder.c	Thu Jan 15 01:10:11 2015 +0200
+++ b/src/lib-mail/message-decoder.c	Thu Jan 15 01:11:34 2015 +0200
@@ -363,9 +363,10 @@
 	output->part = input->part;
 	ctx->prev_part = input->part;
 
-	if (input->hdr != NULL)
+	if (input->hdr != NULL) {
+		output->size = 0;
 		return message_decode_header(ctx, input->hdr, output);
-	else if (input->size != 0)
+	} else if (input->size != 0)
 		return message_decode_body(ctx, input, output);
 	else {
 		output->hdr = NULL;
diff -r 38e807433e2f -r 7250ccf9ab4c src/lib-mail/test-message-decoder.c
--- a/src/lib-mail/test-message-decoder.c	Thu Jan 15 01:10:11 2015 +0200
+++ b/src/lib-mail/test-message-decoder.c	Thu Jan 15 01:11:34 2015 +0200
@@ -27,7 +27,7 @@
 
 	memset(&part, 0, sizeof(part));
 	memset(&input, 0, sizeof(input));
-	memset(&output, 0, sizeof(output));
+	memset(&output, 0xff, sizeof(output));
 	input.part = ∂
 
 	ctx = message_decoder_init(NULL, 0);
@@ -39,6 +39,7 @@
 	hdr.full_value_len = strlen((const char *)hdr.full_value);
 	input.hdr = &hdr;
 	test_assert(message_decoder_decode_next_block(ctx, &input, &output));
+	test_assert(output.size == 0);
 
 	input.hdr = NULL;
 	test_assert(message_decoder_decode_next_block(ctx, &input, &output));


More information about the dovecot-cvs mailing list