From: Timo Sirainen Date: Fri, 22 Dec 2017 16:56:53 +0000 (+0200) Subject: lib-mail: Add rfc822_parser_deinit() X-Git-Tag: 2.2.35~19 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ba1ca973d43043dfe409682b2c1df4a554dc5c78;p=thirdparty%2Fdovecot%2Fcore.git lib-mail: Add rfc822_parser_deinit() It's not a strict requirement to call this, but it assert-crashes if the state isn't valid. --- diff --git a/src/lib-mail/rfc822-parser.h b/src/lib-mail/rfc822-parser.h index 87e9aa23dc..466a68af5a 100644 --- a/src/lib-mail/rfc822-parser.h +++ b/src/lib-mail/rfc822-parser.h @@ -16,6 +16,14 @@ extern unsigned char rfc822_atext_chars[256]; void rfc822_parser_init(struct rfc822_parser_context *ctx, const unsigned char *data, size_t size, string_t *last_comment) ATTR_NULL(4); +static inline void rfc822_parser_deinit(struct rfc822_parser_context *ctx) +{ + /* make sure the parsing didn't trigger a bug that caused reading + past the end pointer. */ + i_assert(ctx->data <= ctx->end); + /* make sure the parser is no longer accessed */ + ctx->data = ctx->end = NULL; +} /* The functions below return 1 = more data available, 0 = no more data available (but a value might have been returned now), -1 = invalid input.