From: Timo Sirainen Date: Fri, 18 Jun 2010 20:41:13 +0000 (+0100) Subject: doveadm: Fixed assert-crash when listing mailbox foo/* X-Git-Tag: 2.0.rc1~130 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d389c93ada174a8fc6edf995b4f829d38e8fe567;p=thirdparty%2Fdovecot%2Fcore.git doveadm: Fixed assert-crash when listing mailbox foo/* --HG-- branch : HEAD --- diff --git a/src/doveadm/doveadm-mail-fetch.c b/src/doveadm/doveadm-mail-fetch.c index d4229a5d3d..0e24de003b 100644 --- a/src/doveadm/doveadm-mail-fetch.c +++ b/src/doveadm/doveadm-mail-fetch.c @@ -13,6 +13,7 @@ #include "mail-user.h" #include "mail-storage.h" #include "mail-search.h" +#include "mail-namespace.h" #include "doveadm-mail.h" #include "doveadm-mail-list-iter.h" #include "doveadm-mail-iter.h" @@ -397,6 +398,13 @@ cmd_fetch_box(struct fetch_cmd_context *ctx, const struct mailbox_info *info) struct mailbox_transaction_context *trans; struct mail *mail; struct mailbox_header_lookup_ctx *headers = NULL; + unsigned int len; + + len = strlen(info->name); + if (len > 0 && info->name[len-1] == info->ns->sep) { + /* when listing "foo/%" it lists "foo/". skip it. */ + return 0; + } if (doveadm_mail_iter_init(info, ctx->ctx.search_args, &trans, &iter) < 0)