[dovecot-cvs] dovecot/src/lib-index mail-index-sync-update.c, 1.60,
1.61
cras at dovecot.org
cras at dovecot.org
Mon Nov 29 01:26:21 EET 2004
Update of /var/lib/cvs/dovecot/src/lib-index
In directory talvi:/tmp/cvs-serv8596/lib-index
Modified Files:
mail-index-sync-update.c
Log Message:
sync_ext_reorder() sometimes added too much data to buffer.
Index: mail-index-sync-update.c
===================================================================
RCS file: /var/lib/cvs/dovecot/src/lib-index/mail-index-sync-update.c,v
retrieving revision 1.60
retrieving revision 1.61
diff -u -d -r1.60 -r1.61
--- mail-index-sync-update.c 28 Nov 2004 23:19:53 -0000 1.60
+++ mail-index-sync-update.c 28 Nov 2004 23:26:19 -0000 1.61
@@ -500,14 +500,15 @@
offset += new_map->hdr.record_size;
}
- if (ext_id == size-1 && ext[ext_id].record_size != old_size &&
- old_records_count != 0) {
+ if (new_map->buffer->used !=
+ old_records_count * new_map->hdr.record_size) {
/* we didn't fully write the last record */
+ i_assert(new_map->buffer->used ==
+ old_records_count * new_map->hdr.record_size -
+ (ext[ext_id].record_size - old_size));
buffer_append_zero(new_map->buffer,
ext[ext_id].record_size - old_size);
}
- i_assert(new_map->buffer->used ==
- old_records_count * new_map->hdr.record_size);
new_map->records = buffer_get_modifyable_data(new_map->buffer, NULL);
new_map->records_count = old_records_count;
More information about the dovecot-cvs
mailing list