diff --git a/libraries/libmdb/mdb.c b/libraries/libmdb/mdb.c index 6f279e3..117a891 100644 --- a/libraries/libmdb/mdb.c +++ b/libraries/libmdb/mdb.c @@ -3695,7 +3695,8 @@ top: offset = NODESIZE + sizeof(indx_t) + data->mv_size; } offset += offset & 1; - if (NODEDSZ(leaf) + offset >= mc->mc_txn->mt_env->me_psize / MDB_MINKEYS) { + if (NODESIZE + NODEKSZ(leaf) + NODEDSZ(leaf) + offset >= + (mc->mc_txn->mt_env->me_psize - PAGEHDRSZ) / MDB_MINKEYS) { /* yes, convert it */ dummy.md_flags = 0; if (mc->mc_db->md_flags & MDB_DUPFIXED) {