dovecot-2.0: lib-storage: Avoid crash with pointless configs.

dovecot at dovecot.org dovecot at dovecot.org
Mon Apr 5 09:18:17 EEST 2010


details:   http://hg.dovecot.org/dovecot-2.0/rev/bd2ac7e2fc40
changeset: 11070:bd2ac7e2fc40
user:      Timo Sirainen <tss at iki.fi>
date:      Mon Apr 05 08:59:04 2010 +0300
description:
lib-storage: Avoid crash with pointless configs.

diffstat:

 src/lib-storage/mailbox-list.c |  16 +++++++++-------
 1 files changed, 9 insertions(+), 7 deletions(-)

diffs (26 lines):

diff -r 960a01833e4c -r bd2ac7e2fc40 src/lib-storage/mailbox-list.c
--- a/src/lib-storage/mailbox-list.c	Mon Apr 05 08:57:19 2010 +0300
+++ b/src/lib-storage/mailbox-list.c	Mon Apr 05 08:59:04 2010 +0300
@@ -151,13 +151,15 @@
 	list->changelog_timestamp = (time_t)-1;
 
 	/* copy settings */
-	list->set.root_dir = p_strdup(list->pool, set->root_dir);
-	list->set.index_dir = set->index_dir == NULL ||
-		strcmp(set->index_dir, set->root_dir) == 0 ? NULL :
-		p_strdup(list->pool, set->index_dir);
-	list->set.control_dir = set->control_dir == NULL ||
-		strcmp(set->control_dir, set->root_dir) == 0 ? NULL :
-		p_strdup(list->pool, set->control_dir);
+	if (set->root_dir != NULL) {
+		list->set.root_dir = p_strdup(list->pool, set->root_dir);
+		list->set.index_dir = set->index_dir == NULL ||
+			strcmp(set->index_dir, set->root_dir) == 0 ? NULL :
+			p_strdup(list->pool, set->index_dir);
+		list->set.control_dir = set->control_dir == NULL ||
+			strcmp(set->control_dir, set->root_dir) == 0 ? NULL :
+			p_strdup(list->pool, set->control_dir);
+	}
 
 	list->set.inbox_path = p_strdup(list->pool, set->inbox_path);
 	list->set.subscription_fname =


More information about the dovecot-cvs mailing list