]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: Don't try to set attachment keywords if bodystructure wasn't parsed
authorAki Tuomi <aki.tuomi@open-xchange.com>
Wed, 15 May 2019 07:49:09 +0000 (10:49 +0300)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Thu, 16 May 2019 07:18:07 +0000 (10:18 +0300)
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)

src/lib-storage/index/index-mail.c

index 716a3b0f48dc1d527703ddbe66db64ae6eb79ded..31806030c26c4df992b77e86cd439801392d6079 100644 (file)
@@ -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;