diff --git a/src/lib-sieve/sieve-message.c b/src/lib-sieve/sieve-message.c index ffa821a480c05b69d217f2ce5a92aa9aa4dd3581..ecd230e13f79b60cbe4c9442838cf5573d344aa3 100644 --- a/src/lib-sieve/sieve-message.c +++ b/src/lib-sieve/sieve-message.c @@ -329,6 +329,10 @@ int sieve_message_substitute static const char *wanted_headers[] = { "From", "Message-ID", "Subject", "Return-Path", NULL }; + static const struct smtp_address default_sender = { + .localpart = DEFAULT_ENVELOPE_SENDER, + .domain = NULL, + }; struct mail_user *mail_user = msgctx->mail_user; struct sieve_message_version *version; struct mailbox_header_lookup_ctx *headers_ctx; @@ -347,8 +351,7 @@ int sieve_message_substitute i_stream_seek(input, 0); sender = sieve_message_get_sender(msgctx); - sender = sender == NULL ? - &((struct smtp_address){DEFAULT_ENVELOPE_SENDER, NULL}) : sender; + sender = (sender == NULL ? &default_sender : sender); ret = raw_mailbox_alloc_stream(msgctx->raw_mail_user, input, (time_t)-1, smtp_address_encode(sender), &box);