dovecot-2.2-pigeonhole: lib-sieve: storage: Fixed segfault probl...

pigeonhole at rename-it.nl pigeonhole at rename-it.nl
Mon May 11 08:03:08 UTC 2015


details:   http://hg.rename-it.nl/dovecot-2.2-pigeonhole/rev/c00f51f3c91a
changeset: 2054:c00f51f3c91a
user:      Stephan Bosch <stephan at rename-it.nl>
date:      Mon May 11 10:03:02 2015 +0200
description:
lib-sieve: storage: Fixed segfault problem in main storage initialization.
Caused by earlier sieve_default_name-related changes.

diffstat:

 src/lib-sieve/sieve-storage.c |  25 ++++++++++++-------------
 1 files changed, 12 insertions(+), 13 deletions(-)

diffs (40 lines):

diff -r 052cd67b423f -r c00f51f3c91a src/lib-sieve/sieve-storage.c
--- a/src/lib-sieve/sieve-storage.c	Mon May 11 00:23:22 2015 +0200
+++ b/src/lib-sieve/sieve-storage.c	Mon May 11 10:03:02 2015 +0200
@@ -497,24 +497,23 @@
 
 	/* Attempt to locate user's main storage */
 	storage = sieve_storage_do_create_main(svinst, user, flags, error_r);
-
-	set_default_name =
-		 sieve_setting_get(svinst, "sieve_default_name");
-	if ( set_default_name != NULL && *set_default_name != '\0' &&
-		!sieve_script_name_is_valid(set_default_name) ) {
-		sieve_storage_sys_error(storage,
-			"Invalid script name `%s' for `sieve_default_name' setting.",
-			str_sanitize(set_default_name, 80));
-		set_default_name = NULL;
-	}
-	storage->default_name =
-		p_strdup_empty(storage->pool, set_default_name);
-
 	if ( storage != NULL ) {
 		/* Success; record default script location for later use */
 		storage->default_location =
 			p_strdup_empty(storage->pool, set_default);
 
+		set_default_name =
+			 sieve_setting_get(svinst, "sieve_default_name");
+		if ( set_default_name != NULL && *set_default_name != '\0' &&
+			!sieve_script_name_is_valid(set_default_name) ) {
+			sieve_storage_sys_error(storage,
+				"Invalid script name `%s' for `sieve_default_name' setting.",
+				str_sanitize(set_default_name, 80));
+			set_default_name = NULL;
+		}
+		storage->default_name =
+			p_strdup_empty(storage->pool, set_default_name);
+
 		if (storage->default_location != NULL &&
 			storage->default_name != NULL) {
 			sieve_storage_sys_debug(storage,


More information about the dovecot-cvs mailing list