static void mail_namespace_free(struct mail_namespace *ns)
{
- if (ns->owner != NULL)
+ if (ns->owner != ns->user && ns->owner != NULL)
mail_user_unref(&ns->owner);
i_free(ns->prefix);
i_free(ns);
if (type == NULL || *type == '\0' || strncmp(type, "private", 7) == 0) {
ns->type = NAMESPACE_PRIVATE;
ns->owner = user;
- mail_user_ref(ns->owner);
} else if (strncmp(type, "shared", 6) == 0)
ns->type = NAMESPACE_SHARED;
else if (strncmp(type, "public", 6) == 0)
ns->prefix = i_strdup("");
ns->user = user;
ns->owner = user;
- mail_user_ref(ns->owner);
if (mail_storage_create(ns, NULL, mail, flags, lock_method,
&error) < 0) {
ns = i_new(struct mail_namespace, 1);
ns->user = user;
ns->owner = user;
- mail_user_ref(ns->owner);
ns->prefix = i_strdup("");
ns->flags = NAMESPACE_FLAG_INBOX | NAMESPACE_FLAG_LIST_PREFIX |
NAMESPACE_FLAG_SUBSCRIPTIONS;