From a9dc6837e890163f8865a59a06d62fb3fe40413f Mon Sep 17 00:00:00 2001
From: Stephan Bosch <stephan@rename-it.nl>
Date: Thu, 12 Aug 2010 14:43:04 +0200
Subject: [PATCH] Regex match: fixed segfault at deinitialization.

---
 src/lib-sieve/plugins/regex/mcht-regex.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/lib-sieve/plugins/regex/mcht-regex.c b/src/lib-sieve/plugins/regex/mcht-regex.c
index 7a6b28df0..dd98841c9 100644
--- a/src/lib-sieve/plugins/regex/mcht-regex.c
+++ b/src/lib-sieve/plugins/regex/mcht-regex.c
@@ -368,9 +368,11 @@ void mcht_regex_match_deinit
 	unsigned int count, i;
 
 	/* Clean up compiled regular expressions */
-	rkeys = array_get_modifiable(&ctx->reg_expressions, &count);
-	for ( i = 0; i < count; i++ ) {
-		regfree(&rkeys[i].regexp);
+	if ( array_is_created(&ctx->reg_expressions) ) {
+		rkeys = array_get_modifiable(&ctx->reg_expressions, &count);
+		for ( i = 0; i < count; i++ ) {
+			regfree(&rkeys[i].regexp);
+		}
 	}
 }
 
-- 
GitLab