From dbb9ded2f826a1c05919759492cbffd58e54e243 Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Wed, 17 Apr 2013 14:33:41 -0700 Subject: [PATCH] Fix mdb_rebalance Don't do anything with (fake root) subpages --- libraries/liblmdb/mdb.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libraries/liblmdb/mdb.c b/libraries/liblmdb/mdb.c index f25222c..b51f6f9 100644 --- a/libraries/liblmdb/mdb.c +++ b/libraries/liblmdb/mdb.c @@ -6320,6 +6320,10 @@ mdb_rebalance(MDB_cursor *mc) if (mc->mc_snum < 2) { MDB_page *mp = mc->mc_pg[0]; + if (IS_SUBP(mp)) { + DPUTS("Can't rebalance a subpage, ignoring"); + return MDB_SUCCESS; + } if (NUMKEYS(mp) == 0) { DPUTS("tree is completely empty"); mc->mc_db->md_root = P_INVALID;