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