From: Timo Sirainen Date: Tue, 27 Dec 2022 10:12:48 +0000 (-0500) Subject: imapc: Add data stack frame when parsing message headers X-Git-Tag: 2.4.0~3212 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=de598c8a9cabd504acd5e59c8de3953f088ec3fb;p=thirdparty%2Fdovecot%2Fcore.git imapc: Add data stack frame when parsing message headers This makes sure the data stack memory usage won't grow too much while parsing a large number of headers. --- diff --git a/src/lib-storage/index/imapc/imapc-mail-fetch.c b/src/lib-storage/index/imapc/imapc-mail-fetch.c index 88c0ef0e04..3c4ae4ec69 100644 --- a/src/lib-storage/index/imapc/imapc-mail-fetch.c +++ b/src/lib-storage/index/imapc/imapc-mail-fetch.c @@ -782,8 +782,9 @@ imapc_fetch_header_stream(struct imapc_mail *mail, index_mail_parse_header_init(&mail->imail, headers_ctx); parser = message_parse_header_init(input, NULL, hdr_parser_flags); - while ((ret = message_parse_header_next(parser, &hdr)) > 0) + while ((ret = message_parse_header_next(parser, &hdr)) > 0) T_BEGIN { index_mail_parse_header(NULL, hdr, &mail->imail); + } T_END; i_assert(ret != 0); index_mail_parse_header(NULL, NULL, &mail->imail); message_parse_header_deinit(&parser);