# HG changeset patch # User Timo Sirainen # Date 1276893673 -3600 # Node ID 9a852084bbebec12fd58425b8857cc25defef621 # Parent 47c1329e4e65a27511fd77a2b0757fc149ce505e doveadm: Fixed assert-crash when listing mailbox foo/* diff -r 47c1329e4e65 -r 9a852084bbeb src/doveadm/doveadm-mail-fetch.c --- 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)