From 152963221e36bc7a3d3b6de2cdcced4288bf4476 Mon Sep 17 00:00:00 2001
From: Stephan Bosch <stephan@rename-it.nl>
Date: Wed, 12 Aug 2009 23:20:43 +0200
Subject: [PATCH] Fixed segfault occuring when message was stored. Namespace
 was not properly initialized.

---
 src/sieve-tools/sieve-test.c        |  7 +++++--
 src/testsuite/testsuite-mailstore.c | 11 +++++++----
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/src/sieve-tools/sieve-test.c b/src/sieve-tools/sieve-test.c
index 95396ae1c..7cd4007be 100644
--- a/src/sieve-tools/sieve-test.c
+++ b/src/sieve-tools/sieve-test.c
@@ -255,7 +255,7 @@ int main(int argc, char **argv)
 			mail_user = mail_user_alloc(user, mail_user_dovecot->unexpanded_set);
 			mail_user_set_home(mail_user, home);
 
-			if (mail_user_init(mail_user, &errstr) < 0)
+			if ( mail_user_init(mail_user, &errstr) < 0 )
         		i_fatal("Test user initialization failed: %s", errstr);
 
 			memset(&ns_set, 0, sizeof(ns_set));
@@ -264,9 +264,12 @@ int main(int argc, char **argv)
 			ns = mail_namespaces_init_empty(mail_user);
 			ns->flags |= NAMESPACE_FLAG_NOQUOTA | NAMESPACE_FLAG_NOACL;
 			ns->set = &ns_set;
+
+			if ( mail_storage_create(ns, NULL, 0, &errstr) < 0 )
+		        i_fatal("Test storage creation failed: %s", errstr);
 		}
 
-		if (master_service_set(service, "mail_full_filesystem_access=yes") < 0)
+		if ( master_service_set(service, "mail_full_filesystem_access=yes") < 0 )
 			i_unreached(); 
 
 		/* Initialize raw mail object */
diff --git a/src/testsuite/testsuite-mailstore.c b/src/testsuite/testsuite-mailstore.c
index 91746e5c6..878baa67a 100644
--- a/src/testsuite/testsuite-mailstore.c
+++ b/src/testsuite/testsuite-mailstore.c
@@ -65,19 +65,22 @@ void testsuite_mailstore_init
 	mail_user = mail_user_alloc(user, service_user->unexpanded_set);
 	mail_user_set_home(mail_user, home);
 
-	if (mail_user_init(mail_user, &errstr) < 0)
+	if ( mail_user_init(mail_user, &errstr) < 0 )
 		i_fatal("Test user initialization failed: %s", errstr);
 
 	memset(&ns_set, 0, sizeof(ns_set));
 	ns_set.location = t_strconcat("maildir:", testsuite_mailstore_tmp, NULL);
-	//ns_set.inbox = TRUE;
-	//ns_set.separator = ".";
-	//ns_set.subscriptions = TRUE;
+	ns_set.inbox = TRUE;
+	ns_set.separator = ".";
+	ns_set.subscriptions = TRUE;
 
 	ns = mail_namespaces_init_empty(mail_user);
 	ns->flags |= NAMESPACE_FLAG_NOQUOTA | NAMESPACE_FLAG_NOACL;
 	ns->set = &ns_set;
 
+	if ( mail_storage_create(ns, NULL, 0, &errstr) < 0 )
+        i_fatal("Test storage creation failed: %s", errstr);
+
 	testsuite_mailstore_user = mail_user;
 }
 
-- 
GitLab