From 39e9b39ef6ecea63af70a17b95e50fdd3ec82943 Mon Sep 17 00:00:00 2001 From: Stephan Bosch <stephan.bosch@open-xchange.com> Date: Wed, 10 Jun 2020 13:02:10 +0200 Subject: [PATCH] lib-sieve-tool: sieve-tool - Properly check address value parsed from message. --- src/lib-sieve-tool/sieve-tool.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lib-sieve-tool/sieve-tool.c b/src/lib-sieve-tool/sieve-tool.c index 4b97e6186..dc41ab0f0 100644 --- a/src/lib-sieve-tool/sieve-tool.c +++ b/src/lib-sieve-tool/sieve-tool.c @@ -489,6 +489,7 @@ static const struct smtp_address * sieve_tool_get_address(struct mail *mail, const char *header) { struct message_address *addr; + struct smtp_address *smtp_addr; const char *str; if (mail_get_first_header(mail, header, &str) <= 0) @@ -500,7 +501,9 @@ sieve_tool_get_address(struct mail *mail, const char *header) addr->domain == NULL || *addr->mailbox == '\0' || *addr->domain == '\0') return NULL; - return smtp_address_create_temp(addr->mailbox, addr->domain); + if (smtp_address_create_from_msg_temp(addr, &smtp_addr) < 0) + return NULL; + return smtp_addr; } void sieve_tool_get_envelope_data(struct sieve_message_data *msgdata, -- GitLab