From: Timo Sirainen Date: Sun, 5 Oct 2008 13:37:38 +0000 (+0300) Subject: Earlier changes broke message parsing near EOF. X-Git-Tag: 1.2.alpha2~11 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ce83243099ae59fb7ee570cda394c79cf6b57041;p=thirdparty%2Fdovecot%2Fcore.git Earlier changes broke message parsing near EOF. --HG-- branch : HEAD --- diff --git a/src/lib-mail/message-parser.c b/src/lib-mail/message-parser.c index 98b8f0d6c7..a8d1213ecc 100644 --- a/src/lib-mail/message-parser.c +++ b/src/lib-mail/message-parser.c @@ -389,8 +389,10 @@ static int parse_next_body_to_boundary(struct message_parser_ctx *ctx, } i_assert(!(ret == 0 && full)); - if (ret >= 0 && !ctx->eof) { - /* leave CR+LF + last line to buffer */ + if (ret > 0 || (ret == 0 && !ctx->eof)) { + /* a) we found the boundary + b) we need more data and haven't reached EOF yet + so leave CR+LF + last line to buffer */ block_r->size = boundary_start; } if (block_r->size != 0) {