From 163514e4706cfcf827afde82c7d2811032c1c19b Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Sun, 2 Oct 2011 19:52:12 -0700 Subject: [PATCH] Fix 6e05ca17e988754ae90fde1921765ba130bb90b2 Missed a MDB_RESERVE case --- libraries/libmdb/mdb.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libraries/libmdb/mdb.c b/libraries/libmdb/mdb.c index b3f4f0d..0ac61a3 100644 --- a/libraries/libmdb/mdb.c +++ b/libraries/libmdb/mdb.c @@ -4062,7 +4062,10 @@ current: /* same size, just replace it */ if (!F_ISSET(leaf->mn_flags, F_BIGDATA) && NODEDSZ(leaf) == data->mv_size) { - memcpy(NODEDATA(leaf), data->mv_data, data->mv_size); + if (F_ISSET(flags, MDB_RESERVE)) + data->mv_data = NODEDATA(leaf); + else + memcpy(NODEDATA(leaf), data->mv_data, data->mv_size); goto done; } mdb_node_del(mc->mc_pg[mc->mc_top], mc->mc_ki[mc->mc_top], 0);