From e8ddc4a037a12db56b478df7de6d721f3472d03d Mon Sep 17 00:00:00 2001
From: Stephan Bosch <stephan.bosch@open-xchange.com>
Date: Tue, 29 Oct 2019 10:06:09 +0100
Subject: [PATCH] plugins: imapsieve: Restructure
 imap_sieve_run_init_trace_log().

---
 src/plugins/imapsieve/imap-sieve.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/src/plugins/imapsieve/imap-sieve.c b/src/plugins/imapsieve/imap-sieve.c
index 535683095..f4ffeb33b 100644
--- a/src/plugins/imapsieve/imap-sieve.c
+++ b/src/plugins/imapsieve/imap-sieve.c
@@ -309,15 +309,20 @@ imap_sieve_run_init_trace_log(struct imap_sieve_run *isrun,
 		*trace_log_r = isrun->trace_log;
 		return;
 	}
+	isrun->trace_log_initialized = TRUE;
+
+	if (sieve_trace_config_get(svinst, &isrun->trace_config) < 0 ||
+	    sieve_trace_log_open(svinst, &isrun->trace_log) < 0) {
+		i_zero(&isrun->trace_config);
+		isrun->trace_log = NULL;
 
-	if (sieve_trace_config_get(svinst, &isrun->trace_config) >= 0) {
-		if (sieve_trace_log_open(svinst, &isrun->trace_log) < 0)
-			i_zero(&isrun->trace_config);
+		i_zero(trace_config_r);
+		*trace_log_r = NULL;
+		return;
 	}
 
 	*trace_config_r = isrun->trace_config;
 	*trace_log_r = isrun->trace_log;
-	isrun->trace_log_initialized = TRUE;
 }
 
 int imap_sieve_run_init(struct imap_sieve *isieve,
-- 
GitLab