From a23ea5cd315cf208175307dd8b65f9dc28a28ffa Mon Sep 17 00:00:00 2001 From: Stephan Bosch <stephan@rename-it.nl> Date: Thu, 15 Aug 2013 20:15:08 +0200 Subject: [PATCH] lda-sieve plugin: Don't access already freed memory when deinitializing. Patch by Timo Sirainen (modified). --- src/plugins/lda-sieve/lda-sieve-plugin.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/plugins/lda-sieve/lda-sieve-plugin.c b/src/plugins/lda-sieve/lda-sieve-plugin.c index bf1ea939b..13b1f5fb4 100644 --- a/src/plugins/lda-sieve/lda-sieve-plugin.c +++ b/src/plugins/lda-sieve/lda-sieve-plugin.c @@ -935,12 +935,13 @@ static int lda_sieve_deliver_mail ret = -1; else ret = lda_sieve_execute(&srctx, storage_r); + + for ( i = 0; i < srctx.script_count; i++ ) + sieve_script_unref(&srctx.scripts[i]); } T_END; /* Clean up */ - for ( i = 0; i < srctx.script_count; i++ ) - sieve_script_unref(&srctx.scripts[i]); if ( srctx.user_ehandler != NULL ) sieve_error_handler_unref(&srctx.user_ehandler); sieve_error_handler_unref(&srctx.master_ehandler); -- GitLab