fsck: Fix a serious bug in prune_mapped_column().
authorAndre Noll <maan@systemlinux.org>
Sat, 11 Jul 2009 21:24:02 +0000 (23:24 +0200)
committerAndre Noll <maan@systemlinux.org>
Sat, 11 Jul 2009 21:24:02 +0000 (23:24 +0200)
commit1297f561259ea010d295aee88c8c6864e726d5d2
tree59b07c0282c8a162e166b736fd8d05cb72f9921a
parentedb632b26c12a94fb7d8a7bfcb787a8df8b77a1c
fsck: Fix a serious bug in prune_mapped_column().

This function still contained a relict from the old database format that was changed in commit
6d7dce7f277fc8606fb8d5ed6360660c13a218af.  This caused prune_mapped_column()
to write one byte too much to the data file of a mapped column for each removed row.

Running the buggy oslfsck on a table with mapped columns where rows have been deleted
likely results in data corruption to objects adjacent to the deleted objects.

Worst of all, since only the data files but not the index is affected,  the corruption will not
immediately be noticed, which is probably why it took one year to find this bug. Kill it with
pleasure.
fsck.c