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.2.35~23 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1c9f77b6f59235144b4f7908434e772b4f58a988;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 6dd22547e6..edb07f52d4 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++;