svn rev #20214: trunk/ src/plugins/kdb/db2/libdb2/btree/ src/plugins/kdb/db2/libdb2/test/

tlyu@MIT.EDU tlyu at MIT.EDU
Thu Jan 31 20:03:13 EST 2008


Commit By: tlyu
Log Message: 
ticket: new
target_version: 1.6.4
tags: pullup
subject: libdb btree page split on zero index corrupts db
component: krb5-kdc

Splitting a btree page on index 0 can corrupt the database if the key
length plus data length is exactly a certain value.  This certain size
causes the item to get the left page to itself, and causes the right
page to contain an erroneous additional index "hole" having an
uninitialized value.  This bug may be one of the remaining causes of
unexplained database corruption reported over the years.  Shawn Emery
provided useful data from actual instances of this corruption.

Add a test case for this bug.  (Raw libdb test rather than kdb; the
latter would be much harder.)



Changed Files:
_U  trunk/
U   trunk/src/plugins/kdb/db2/libdb2/btree/bt_split.c
U   trunk/src/plugins/kdb/db2/libdb2/test/run.test



More information about the cvs-krb5 mailing list