From: Timo Sirainen Date: Wed, 25 Jul 2018 10:17:05 +0000 (+0300) Subject: lib-mail: Add asserts to message_part_*() to make sure part->data isn't NULL X-Git-Tag: 2.2.36.1~17 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0fabf67d95d55ff18ddc3d84aa25350b2c4ed171;p=thirdparty%2Fdovecot%2Fcore.git lib-mail: Add asserts to message_part_*() to make sure part->data isn't NULL This makes it easier to debug the crashes than just having a segfault. --- diff --git a/src/lib-mail/message-part-data.c b/src/lib-mail/message-part-data.c index 416dce6cc1..57f2d01202 100644 --- a/src/lib-mail/message-part-data.c +++ b/src/lib-mail/message-part-data.c @@ -25,6 +25,7 @@ bool message_part_data_is_plain_7bit(const struct message_part *part) { const struct message_part_data *data = part->data; + i_assert(data != NULL); i_assert(part->parent == NULL); /* if content-type is text/xxx we don't have to check any @@ -73,6 +74,8 @@ bool message_part_data_get_filename(const struct message_part *part, const struct message_part_param *params; unsigned int params_count, i; + i_assert(data != NULL); + params = data->content_disposition_params; params_count = data->content_disposition_params_count; @@ -520,6 +523,8 @@ bool message_part_has_content_types(struct message_part *part, const char *const *ptr; const char *content_type; + i_assert(data != NULL); + if (data->content_type == NULL) return FALSE; else if (data->content_subtype == NULL) @@ -541,6 +546,8 @@ bool message_part_has_parameter(struct message_part *part, const char *parameter { struct message_part_data *data = part->data; + i_assert(data != NULL); + for (unsigned int i = 0; i < data->content_disposition_params_count; i++) { const struct message_part_param *param = &data->content_disposition_params[i];