From: Timo Sirainen Date: Fri, 22 Dec 2017 16:31:52 +0000 (+0200) Subject: lib-mail: rfc822-parser - Add asserts to make sure parser state is correct X-Git-Tag: 2.3.9~2175 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=238899c225612d1bda1cb1a93437a23e287b098c;p=thirdparty%2Fdovecot%2Fcore.git lib-mail: rfc822-parser - Add asserts to make sure parser state is correct --- diff --git a/src/lib-mail/rfc822-parser.c b/src/lib-mail/rfc822-parser.c index f3e82d24c3..7c89892b69 100644 --- a/src/lib-mail/rfc822-parser.c +++ b/src/lib-mail/rfc822-parser.c @@ -211,6 +211,7 @@ int rfc822_parse_quoted_string(struct rfc822_parser_context *ctx, string_t *str) const unsigned char *start; size_t len; + i_assert(ctx->data < ctx->end); i_assert(*ctx->data == '"'); ctx->data++; @@ -313,6 +314,7 @@ rfc822_parse_domain_literal(struct rfc822_parser_context *ctx, string_t *str) %d94-126 ; characters not including "[", ; "]", or "\" */ + i_assert(ctx->data < ctx->end); i_assert(*ctx->data == '['); for (start = ctx->data; ctx->data != ctx->end; ctx->data++) { @@ -338,6 +340,7 @@ int rfc822_parse_domain(struct rfc822_parser_context *ctx, string_t *str) domain-literal = [CFWS] "[" *([FWS] dcontent) [FWS] "]" [CFWS] obs-domain = atom *("." atom) */ + i_assert(ctx->data < ctx->end); i_assert(*ctx->data == '@'); ctx->data++;