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);
 }