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