Mercurial > dovecot > core-2.2
changeset 13144:b383271890fe
imap-quota: Don't crash if invalid mailbox name is given to GETQUOTAROOT.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Wed, 27 Jul 2011 19:46:01 +0300 |
parents | e6300c6a5814 |
children | a77d53d40ea3 |
files | src/plugins/imap-quota/imap-quota-plugin.c |
diffstat | 1 files changed, 6 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/plugins/imap-quota/imap-quota-plugin.c Tue Jul 12 09:59:34 2011 +0300 +++ b/src/plugins/imap-quota/imap-quota-plugin.c Wed Jul 27 19:46:01 2011 +0300 @@ -74,6 +74,7 @@ struct mailbox *box; struct quota_root_iter *iter; struct quota_root *root; + enum mailbox_name_status status; const char *mailbox, *storage_name, *name; string_t *quotaroot_reply, *quota_reply; @@ -81,7 +82,7 @@ if (!client_read_string_args(cmd, 1, &mailbox)) return FALSE; - ns = client_find_namespace(cmd, mailbox, &storage_name, NULL); + ns = client_find_namespace(cmd, mailbox, &storage_name, &status); if (ns == NULL) return TRUE; @@ -94,6 +95,10 @@ client_send_tagline(cmd, "NO Not showing other users' quota."); return TRUE; } + if (status == MAILBOX_NAME_INVALID) { + client_fail_mailbox_name_status(cmd, mailbox, NULL, status); + return TRUE; + } box = mailbox_alloc(ns->list, storage_name, MAILBOX_FLAG_READONLY | MAILBOX_FLAG_KEEP_RECENT);