From 0a191d4b5636bb5e3f0ceb84fff89be25026987b Mon Sep 17 00:00:00 2001 From: Stephan Bosch <stephan@rename-it.nl> Date: Tue, 5 Apr 2016 11:43:36 +0200 Subject: [PATCH] lib-sieve: Make sure that an absent envelope does not cause segfaults. Futher changes are needed to prevent accessing the envelope in the first place. --- src/lib-sieve/sieve-message.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lib-sieve/sieve-message.c b/src/lib-sieve/sieve-message.c index 003249f3a..2c2ace7b7 100644 --- a/src/lib-sieve/sieve-message.c +++ b/src/lib-sieve/sieve-message.c @@ -327,7 +327,9 @@ static void sieve_message_envelope_parse(struct sieve_message_context *msgctx) msgdata->final_envelope_to); } } else if ( msgctx->envelope_final_recipient->local_part == NULL ) { - if ( strcmp(msgdata->orig_envelope_to, msgdata->final_envelope_to) != 0 ) { + if (msgdata->orig_envelope_to != NULL && + msgdata->final_envelope_to != NULL && + strcmp(msgdata->orig_envelope_to, msgdata->final_envelope_to) != 0 ) { sieve_sys_warning(svinst, "final envelope recipient address '%s' is a null path", msgdata->final_envelope_to); -- GitLab