[dovecot-cvs] dovecot/src/lib-index mail-index-sync-update.c, 1.55,
1.56
cras at dovecot.org
cras at dovecot.org
Mon Nov 8 04:31:42 EET 2004
Update of /var/lib/cvs/dovecot/src/lib-index
In directory talvi:/tmp/cvs-serv21316/lib-index
Modified Files:
mail-index-sync-update.c
Log Message:
crashfix
Index: mail-index-sync-update.c
===================================================================
RCS file: /var/lib/cvs/dovecot/src/lib-index/mail-index-sync-update.c,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -d -r1.55 -r1.56
--- mail-index-sync-update.c 8 Nov 2004 01:21:14 -0000 1.55
+++ mail-index-sync-update.c 8 Nov 2004 02:31:40 -0000 1.56
@@ -477,6 +477,11 @@
new_map = mail_index_map_to_memory(map, offset);
map->records_count = old_records_count;
+ if (old_size > ext[ext_id].record_size) {
+ /* we are shrinking the record */
+ old_size = ext[ext_id].record_size;
+ }
+
/* now copy the records to new mapping */
src = map->records;
offset = 0;
@@ -494,6 +499,12 @@
offset += new_map->hdr->record_size;
}
+ if (ext_id == size-1 && ext[ext_id].record_size != old_size) {
+ /* we didn't fully write the last record */
+ buffer_append_zero(new_map->buffer,
+ ext[ext_id].record_size - old_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