dovecot: When resetting extensions, the ext intro's reset_id mus...

dovecot at dovecot.org dovecot at dovecot.org
Sat Jul 14 23:19:37 EEST 2007


details:   http://hg.dovecot.org/dovecot/rev/5dacddf4a88a
changeset: 5991:5dacddf4a88a
user:      Timo Sirainen <tss at iki.fi>
date:      Sat Jul 14 23:15:54 2007 +0300
description:
When resetting extensions, the ext intro's reset_id must be the old one.

diffstat:

1 file changed, 4 insertions(+), 1 deletion(-)
src/lib-index/mail-transaction-log-append.c |    5 ++++-

diffs (19 lines):

diff -r 14a0630a4fa9 -r 5dacddf4a88a src/lib-index/mail-transaction-log-append.c
--- a/src/lib-index/mail-transaction-log-append.c	Sat Jul 14 22:12:30 2007 +0300
+++ b/src/lib-index/mail-transaction-log-append.c	Sat Jul 14 23:15:54 2007 +0300
@@ -315,11 +315,14 @@ mail_transaction_log_append_ext_intros(s
 		     array_is_created(&update[ext_id])) ||
 		    ext_reset.new_reset_id != 0 ||
 		    (ext_id < hdrs_count && hdrs[ext_id] != NULL)) {
-			reset_id = ext_id < reset_id_count ?
+			reset_id = ext_id < reset_id_count &&
+				ext_reset.new_reset_id == 0 ?
 				reset_ids[ext_id] : 0;
 			log_append_ext_intro(ctx, ext_id, reset_id);
 		}
 		if (ext_reset.new_reset_id != 0) {
+			i_assert(ext_id < reset_id_count &&
+				 ext_reset.new_reset_id == reset_ids[ext_id]);
 			log_append_buffer(ctx, buf, NULL,
 					  MAIL_TRANSACTION_EXT_RESET);
 		}


More information about the dovecot-cvs mailing list