From cfedb365b4a2a90111810a7918d58aa679adb99c Mon Sep 17 00:00:00 2001
From: Howard Chu <hyc@openldap.org>
Date: Sat, 26 Jan 2013 18:55:35 +0000
Subject: [PATCH] Fix MDB_CURRENT updating for dupsort items

---
 libraries/liblmdb/mdb.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libraries/liblmdb/mdb.c b/libraries/liblmdb/mdb.c
index e5013d6d56..575e494487 100644
--- a/libraries/liblmdb/mdb.c
+++ b/libraries/liblmdb/mdb.c
@@ -5064,8 +5064,10 @@ current:
 			 */
 			if (F_ISSET(flags, MDB_RESERVE))
 				data->mv_data = NODEDATA(leaf);
-			else
+			else if (data->mv_size)
 				memcpy(NODEDATA(leaf), data->mv_data, data->mv_size);
+			else
+				memcpy(NODEKEY(leaf), key->mv_data, key->mv_size);
 			goto done;
 		}
 		mdb_node_del(mc->mc_pg[mc->mc_top], mc->mc_ki[mc->mc_top], 0);
-- 
GitLab