dovecot-1.1: maildir: Having a lot of keywords assert-crashed wi...

dovecot at dovecot.org dovecot at dovecot.org
Tue Nov 3 17:35:10 EET 2009


details:   http://hg.dovecot.org/dovecot-1.1/rev/ed88a340c680
changeset: 8361:ed88a340c680
user:      Timo Sirainen <tss at iki.fi>
date:      Mon Nov 02 17:54:17 2009 -0500
description:
maildir: Having a lot of keywords assert-crashed with "stack frame changed".

diffstat:

1 file changed, 4 insertions(+), 2 deletions(-)
src/lib-storage/index/maildir/maildir-sync-index.c |    6 ++++--

diffs (23 lines):

diff -r b521d13ea89e -r ed88a340c680 src/lib-storage/index/maildir/maildir-sync-index.c
--- a/src/lib-storage/index/maildir/maildir-sync-index.c	Mon Oct 12 16:20:11 2009 -0400
+++ b/src/lib-storage/index/maildir/maildir-sync-index.c	Mon Nov 02 17:54:17 2009 -0500
@@ -413,8 +413,8 @@ int maildir_sync_index(struct maildir_in
 
 	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,
@@ -586,6 +586,8 @@ int maildir_sync_index(struct maildir_in
 			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);
 }
 


More information about the dovecot-cvs mailing list