Mercurial > dovecot > original-hg > dovecot-1.2
changeset 9464:939edf3ed09b HEAD
maildir: Having a lot of keywords assert-crashed with "stack frame changed".
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Mon, 02 Nov 2009 17:54:17 -0500 |
parents | 0dc82e18530d |
children | 19aee456cec3 |
files | src/lib-storage/index/maildir/maildir-sync-index.c |
diffstat | 1 files changed, 4 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-storage/index/maildir/maildir-sync-index.c Mon Nov 02 13:34:49 2009 -0500 +++ b/src/lib-storage/index/maildir/maildir-sync-index.c Mon Nov 02 17:54:17 2009 -0500 @@ -421,8 +421,8 @@ 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, @@ -599,6 +599,8 @@ 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); }