From 436599b7c3403b2ad6b9bff7ece5571c709aff8a Mon Sep 17 00:00:00 2001 From: Timo Sirainen <timo.sirainen@open-xchange.com> Date: Thu, 9 May 2019 20:39:31 +0300 Subject: [PATCH] lib-sieve: sieve_message_parts_add_missing() - Fix NULL checks to make scan-build happy --- src/lib-sieve/sieve-message.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/lib-sieve/sieve-message.c b/src/lib-sieve/sieve-message.c index 62f4a64c8..4ee18ccd9 100644 --- a/src/lib-sieve/sieve-message.c +++ b/src/lib-sieve/sieve-message.c @@ -1236,6 +1236,7 @@ static int sieve_message_parts_add_missing } hdr_field; /* Reading headers */ + i_assert( body_part != NULL ); /* Decode block */ (void)message_decoder_decode_next_block @@ -1251,7 +1252,6 @@ static int sieve_message_parts_add_missing } /* Save bodies only if we have a wanted content-type */ - i_assert( body_part != NULL ); save_body = iter_all || _is_wanted_content_type (content_types, body_part->content_type); continue; @@ -1261,7 +1261,6 @@ static int sieve_message_parts_add_missing * the start of the body */ if ( hdr->eoh ) { - i_assert( body_part != NULL ); body_part->have_body = TRUE; continue; } else if ( header_part != NULL ) { @@ -1348,8 +1347,6 @@ static int sieve_message_parts_add_missing continue; } - i_assert( body_part != NULL ); - /* Parse the content type from the Content-type header */ T_BEGIN { switch ( hdr_field ) { @@ -1377,11 +1374,15 @@ static int sieve_message_parts_add_missing } } + /* even with an empty message there was at least the "end of headers" + block, which set the body_part. */ + i_assert( body_part != NULL ); + /* Save last body part if necessary */ if ( header_part != NULL ) { sieve_message_part_save (renv, buf, header_part, FALSE); - } else if ( body_part != NULL && save_body ) { + } else if ( save_body ) { sieve_message_part_save (renv, buf, body_part, extract_text); } -- GitLab