From c43229645d87058b2f139336a72bc76ec35945ba Mon Sep 17 00:00:00 2001 From: Stephan Bosch <stephan.bosch@open-xchange.com> Date: Tue, 20 Apr 2021 02:07:23 +0200 Subject: [PATCH] lib-sieve: sieve-result - Prevent executing implicit keep upon resource limit transgression. --- src/lib-sieve/sieve-result.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lib-sieve/sieve-result.c b/src/lib-sieve/sieve-result.c index 98871be91..85dc5264b 100644 --- a/src/lib-sieve/sieve-result.c +++ b/src/lib-sieve/sieve-result.c @@ -1476,7 +1476,9 @@ int sieve_result_execute(struct sieve_result *result, bool last, bool *keep, /* Perform implicit keep if necessary */ result_status = status; - if (result->executed || status != SIEVE_EXEC_TEMP_FAILURE) { + if (result->executed || + (status != SIEVE_EXEC_TEMP_FAILURE && + status != SIEVE_EXEC_RESOURCE_LIMIT)) { /* Execute implicit keep if the transaction failed or when the implicit * keep was not canceled during transaction. */ -- GitLab