[dovecot-cvs] dovecot/src/lib-index mail-transaction-log.c, 1.23, 1.24

cras at procontrol.fi cras at procontrol.fi
Sat May 15 15:00:12 EEST 2004


Update of /home/cvs/dovecot/src/lib-index
In directory talvi:/tmp/cvs-serv17092

Modified Files:
	mail-transaction-log.c 
Log Message:
bugfixes



Index: mail-transaction-log.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib-index/mail-transaction-log.c,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- mail-transaction-log.c	10 May 2004 21:33:49 -0000	1.23
+++ mail-transaction-log.c	15 May 2004 12:00:08 -0000	1.24
@@ -900,6 +900,9 @@
 	for (src_idx = dest_idx = 0; src_idx < size; src_idx += record_size) {
 		seq = (uint32_t *)&data[src_idx];
 
+		i_assert(src_idx + record_size == size ||
+			 *seq <= *((uint32_t *) &data[src_idx+record_size]));
+
 		while (exp != exp_end && exp->seq1 < seq[0]) {
 			expunges_before += exp->seq2 - exp->seq1 + 1;
 			exp++;
@@ -940,8 +943,12 @@
 			}
 		}
 
-		if (src_idx != dest_idx)
+		if (src_idx != dest_idx) {
 			memcpy(&data[dest_idx], &data[src_idx], record_size);
+			i_assert(dest_idx == 0 ||
+				 *((uint32_t *) &data[dest_idx]) >=
+				 *((uint32_t *) &data[dest_idx-record_size]));
+		}
 		dest_idx += record_size;
 	}
 	buffer_set_used_size(buf, dest_idx);



More information about the dovecot-cvs mailing list