dovecot-2.0-sslstream: maildir: Having a lot of keywords assert-...

dovecot at dovecot.org dovecot at dovecot.org
Sat Feb 13 02:56:05 EET 2010


details:   http://hg.dovecot.org/dovecot-2.0-sslstream/rev/2e00f9da27ad
changeset: 10268:2e00f9da27ad
user:      Timo Sirainen <tss at iki.fi>
date:      Fri Nov 06 17:45:24 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 e99c02873d8c -r 2e00f9da27ad src/lib-storage/index/maildir/maildir-sync-index.c
--- a/src/lib-storage/index/maildir/maildir-sync-index.c	Fri Nov 06 13:57:43 2009 -0500
+++ b/src/lib-storage/index/maildir/maildir-sync-index.c	Fri Nov 06 17:45:24 2009 -0500
@@ -478,8 +478,8 @@ int maildir_sync_index(struct maildir_in
 	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_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