Mercurial > dovecot > core-2.2
changeset 11588:9a852084bbeb HEAD
doveadm: Fixed assert-crash when listing mailbox foo/*
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Fri, 18 Jun 2010 21:41:13 +0100 |
parents | 47c1329e4e65 |
children | 573cb66e9180 |
files | src/doveadm/doveadm-mail-fetch.c |
diffstat | 1 files changed, 8 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/doveadm/doveadm-mail-fetch.c Fri Jun 18 20:07:20 2010 +0100 +++ b/src/doveadm/doveadm-mail-fetch.c Fri Jun 18 21:41:13 2010 +0100 @@ -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 @@ 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)