From: Timo Sirainen Date: Fri, 6 Nov 2009 22:45:24 +0000 (-0500) Subject: maildir: Having a lot of keywords assert-crashed with "stack frame changed". X-Git-Tag: 2.0.alpha3~28 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ce589810e863a663e0d811cfb04e4db4d5010c3d;p=thirdparty%2Fdovecot%2Fcore.git maildir: Having a lot of keywords assert-crashed with "stack frame changed". --HG-- branch : HEAD --- diff --git a/src/lib-storage/index/maildir/maildir-sync-index.c b/src/lib-storage/index/maildir/maildir-sync-index.c index 68fc3c88c4..dbed50ad89 100644 --- a/src/lib-storage/index/maildir/maildir-sync-index.c +++ b/src/lib-storage/index/maildir/maildir-sync-index.c @@ -478,8 +478,8 @@ int maildir_sync_index(struct maildir_index_sync_context *ctx, time_before_sync = time(NULL); mbox->syncing_commit = TRUE; seq = prev_uid = 0; first_recent_uid = I_MAX(hdr->first_recent_uid, 1); - t_array_init(&ctx->keywords, MAILDIR_MAX_KEYWORDS); - t_array_init(&ctx->idx_keywords, MAILDIR_MAX_KEYWORDS); + i_array_init(&ctx->keywords, MAILDIR_MAX_KEYWORDS); + i_array_init(&ctx->idx_keywords, MAILDIR_MAX_KEYWORDS); iter = maildir_uidlist_iter_init(mbox->uidlist); while (maildir_uidlist_iter_next(iter, &uid, &uflags, &filename)) { maildir_filename_get_flags(ctx->keywords_sync_ctx, filename, @@ -662,6 +662,8 @@ int maildir_sync_index(struct maildir_index_sync_context *ctx, offsetof(struct mail_index_header, first_recent_uid), &first_recent_uid, sizeof(first_recent_uid), FALSE); } + array_free(&ctx->keywords); + array_free(&ctx->idx_keywords); return ret < 0 ? -1 : (full_rescan ? 0 : 1); }