From: Aki Tuomi Date: Wed, 15 May 2019 07:49:09 +0000 (+0300) Subject: lib-storage: Don't try to set attachment keywords if bodystructure wasn't parsed X-Git-Tag: 2.3.9~500 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7ceccd68bb49130e73e290eae4292cb0c76bff22;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: Don't try to set attachment keywords if bodystructure wasn't parsed This was broken in 057028e3f5567e21c964005ffccda1055fa86508 as there are code paths leading here that omit bodystructure processing. Fixes Panic: file index-mail.c: line 1150 (index_mail_parse_body_finish): assertion failed: (mail->data.parsed_bodystructure) --- diff --git a/src/lib-storage/index/index-mail.c b/src/lib-storage/index/index-mail.c index 716a3b0f48..31806030c2 100644 --- a/src/lib-storage/index/index-mail.c +++ b/src/lib-storage/index/index-mail.c @@ -1145,9 +1145,9 @@ index_mail_parse_body_finish(struct index_mail *mail, index_mail_cache_sizes(mail); index_mail_cache_dates(mail); if (mail_set->parsed_mail_attachment_detection_add_flags_on_save && + mail->data.parsed_bodystructure && !mail_has_attachment_keywords(&mail->mail.mail)) { i_assert(mail->data.parts != NULL); - i_assert(mail->data.parsed_bodystructure); (void)mail_set_attachment_keywords(&mail->mail.mail); } return 0;