]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
doveadm: Fixed assert-crash when listing mailbox foo/*
authorTimo Sirainen <tss@iki.fi>
Fri, 18 Jun 2010 20:41:13 +0000 (21:41 +0100)
committerTimo Sirainen <tss@iki.fi>
Fri, 18 Jun 2010 20:41:13 +0000 (21:41 +0100)
--HG--
branch : HEAD

src/doveadm/doveadm-mail-fetch.c

index d4229a5d3d0cae72dea8118fefad3c6d1333795b..0e24de003be78d21117cc5fef19260e459a3041c 100644 (file)
@@ -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)