changeset 13119:222cc828c31f

lmtp: Crashfix
author Timo Sirainen <tss@iki.fi>
date Thu, 28 Jul 2011 17:00:29 +0300
parents 7440d6e1577f
children 06873db0bfef
files src/lmtp/client.c
diffstat 1 files changed, 6 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/lmtp/client.c	Thu Jul 28 16:59:56 2011 +0300
+++ b/src/lmtp/client.c	Thu Jul 28 17:00:29 2011 +0300
@@ -124,7 +124,7 @@
 static void client_raw_user_create(struct client *client)
 {
 	struct mail_namespace *raw_ns;
-	struct mail_namespace_settings raw_ns_set;
+	struct mail_namespace_settings *raw_ns_set;
 	const char *error;
 	void **sets;
 
@@ -136,13 +136,14 @@
 	if (mail_user_init(client->raw_mail_user, &error) < 0)
 		i_fatal("Raw user initialization failed: %s", error);
 
-	memset(&raw_ns_set, 0, sizeof(raw_ns_set));
-	raw_ns_set.location = ":LAYOUT=none";
-	raw_ns_set.separator = "/";
+	raw_ns_set = p_new(client->raw_mail_user->pool,
+			   struct mail_namespace_settings, 1);
+	raw_ns_set->location = ":LAYOUT=none";
+	raw_ns_set->separator = "/";
 
 	raw_ns = mail_namespaces_init_empty(client->raw_mail_user);
 	raw_ns->flags |= NAMESPACE_FLAG_NOQUOTA | NAMESPACE_FLAG_NOACL;
-	raw_ns->set = &raw_ns_set;
+	raw_ns->set = raw_ns_set;
 	if (mail_storage_create(raw_ns, "raw", 0, &error) < 0)
 		i_fatal("Couldn't create internal raw storage: %s", error);
 }