# HG changeset patch # User Timo Sirainen # Date 1257202457 18000 # Node ID 939edf3ed09bbb7d9a4ed17a2a1fc8b7de775570 # Parent 0dc82e18530daba409ef2d0f03fd9750b7b38574 maildir: Having a lot of keywords assert-crashed with "stack frame changed". diff -r 0dc82e18530d -r 939edf3ed09b src/lib-storage/index/maildir/maildir-sync-index.c --- 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); }