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