dovecot-2.0: imap-quota: Don't crash if invalid mailbox name is ...
dovecot at dovecot.org
dovecot at dovecot.org
Wed Jul 27 19:46:13 EEST 2011
details: http://hg.dovecot.org/dovecot-2.0/rev/b383271890fe
changeset: 12869:b383271890fe
user: Timo Sirainen <tss at iki.fi>
date: Wed Jul 27 19:46:01 2011 +0300
description:
imap-quota: Don't crash if invalid mailbox name is given to GETQUOTAROOT.
diffstat:
src/plugins/imap-quota/imap-quota-plugin.c | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)
diffs (31 lines):
diff -r e6300c6a5814 -r b383271890fe src/plugins/imap-quota/imap-quota-plugin.c
--- 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);
More information about the dovecot-cvs
mailing list