]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-mail: If message_part_data.content_type is set, make sure content_subtype isn...
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Tue, 24 Jul 2018 11:55:25 +0000 (14:55 +0300)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Thu, 26 Jul 2018 22:33:28 +0000 (22:33 +0000)
This fixes a crash in index_mail_find_first_text_mime_part() where snippet
generation assumed that content_subtype isn't NULL.

src/lib-mail/message-part-data.c

index ffae458f55af1427ffdd139fed54f4d1f22a2f8e..1c7ca9c3e57634df02b1ead8828216a04aea38ce 100644 (file)
@@ -320,6 +320,12 @@ parse_content_type(struct message_part_data *data,
        }
        str_truncate(str, i);
        data->content_type = p_strdup(pool, str_c(str));
+       if (data->content_subtype == NULL) {
+               /* The Content-Type is invalid. Don't leave it NULL so that
+                  callers can assume that if content_type != NULL,
+                  content_subtype != NULL also. */
+               data->content_subtype = p_strdup(pool, "");
+       }
 
        if (ret < 0) {
                /* Content-Type is broken, but we wanted to get it as well as