changeset 22988:c3c55b15fb6f

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.
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Wed, 25 Jul 2018 13:17:05 +0300
parents 1611d0ce5001
children 4e9251b0435d
files src/lib-mail/message-part-data.c
diffstat 1 files changed, 7 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-mail/message-part-data.c	Fri Jun 08 23:17:04 2018 +0300
+++ b/src/lib-mail/message-part-data.c	Wed Jul 25 13:17:05 2018 +0300
@@ -25,6 +25,7 @@
 {
 	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 @@
 	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 @@
 	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 @@
 {
 	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];