From d7f19d393f88b4ce751afe15fe02fd53e099dad6 Mon Sep 17 00:00:00 2001
From: Stephan Bosch <stephan@rename-it.nl>
Date: Wed, 28 Jul 2010 15:01:26 +0200
Subject: [PATCH] ManageSieve: fixed deinitialization problem in
 dump-capability plugin.

---
 src/managesieve-login/managesieve-login-settings-plugin.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/managesieve-login/managesieve-login-settings-plugin.c b/src/managesieve-login/managesieve-login-settings-plugin.c
index 9e6f96489..3f59a2351 100644
--- a/src/managesieve-login/managesieve-login-settings-plugin.c
+++ b/src/managesieve-login/managesieve-login-settings-plugin.c
@@ -19,6 +19,7 @@
 
 typedef enum { CAP_SIEVE, CAP_NOTIFY } capability_type_t;
 
+bool capability_dumped = FALSE;
 static char *capability_sieve = NULL;
 static char *capability_notify = NULL;
 
@@ -197,10 +198,9 @@ static void managesieve_login_config_parser_begin(struct config_parser_context *
 	if (*ctx->module != '\0' && strcmp(ctx->module, "managesieve-login") != 0)
 		return;
 
-	if ( capability_sieve == NULL ) {
-		if ( !capability_dump() ) {
-			capability_sieve = "";
-		}
+	if ( !capability_dumped ) {
+		(void)capability_dump();
+		capability_dumped = TRUE;
 	}
 
 	if ( capability_sieve != NULL )
-- 
GitLab