From b495dc181812050eb33e4f317d21a319dd1202d9 Mon Sep 17 00:00:00 2001
From: Stephan Bosch <stephan.bosch@open-xchange.com>
Date: Mon, 11 Nov 2024 01:59:20 +0100
Subject: [PATCH] lib-sieve: sieve-script - Assert that open() vfunc returns <=
 0

---
 src/lib-sieve/sieve-script.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/lib-sieve/sieve-script.c b/src/lib-sieve/sieve-script.c
index ade6465d9..bcf567cdf 100644
--- a/src/lib-sieve/sieve-script.c
+++ b/src/lib-sieve/sieve-script.c
@@ -172,6 +172,7 @@ int sieve_script_open(struct sieve_script *script,
 		      enum sieve_error *error_code_r)
 {
 	enum sieve_error error_code;
+	int ret;
 
 	if (error_code_r != NULL)
 		*error_code_r = SIEVE_ERROR_NONE;
@@ -181,7 +182,9 @@ int sieve_script_open(struct sieve_script *script,
 	if (script->open)
 		return 0;
 
-	if (script->v.open(script, error_code_r) < 0)
+	ret = script->v.open(script, error_code_r);
+	i_assert(ret <= 0);
+	if (ret < 0)
 		return -1;
 
 	i_assert(script->location != NULL);
-- 
GitLab