From: Timo Sirainen Date: Tue, 24 Jul 2018 11:55:25 +0000 (+0300) Subject: lib-mail: If message_part_data.content_type is set, make sure content_subtype isn... X-Git-Tag: 2.2.36.1~20 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=41bd7fb657bccf595955bb05039207a4fcbf9b6c;p=thirdparty%2Fdovecot%2Fcore.git lib-mail: If message_part_data.content_type is set, make sure content_subtype isn't NULL This fixes a crash in index_mail_find_first_text_mime_part() where snippet generation assumed that content_subtype isn't NULL. --- diff --git a/src/lib-mail/message-part-data.c b/src/lib-mail/message-part-data.c index 35f35a0f93..416dce6cc1 100644 --- a/src/lib-mail/message-part-data.c +++ b/src/lib-mail/message-part-data.c @@ -295,6 +295,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