diff --git a/libraries/liblmdb/mdb.c b/libraries/liblmdb/mdb.c index d8ac040..dddfed1 100644 --- a/libraries/liblmdb/mdb.c +++ b/libraries/liblmdb/mdb.c @@ -6063,7 +6063,9 @@ fix_parent: if (mc->mc_top && !mc->mc_ki[mc->mc_top]) { unsigned short top = mc->mc_top; mc->mc_top--; - /* slot 0 is always an empty key, needs no update */ + /* slot 0 is always an empty key, find real slot */ + while (mc->mc_top && !mc->mc_ki[mc->mc_top]) + mc->mc_top--; if (mc->mc_ki[mc->mc_top]) rc2 = mdb_update_key(mc, key); else