From 8c9a26c90d603a6040a74042ae995a95cadddda7 Mon Sep 17 00:00:00 2001
From: Howard Chu <hyc@openldap.org>
Date: Mon, 4 Nov 2013 20:00:55 -0800
Subject: [PATCH] More for #7589

---
 libraries/liblmdb/mdb.c | 9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)

diff --git a/libraries/liblmdb/mdb.c b/libraries/liblmdb/mdb.c
index b419fd6cda..8aee859786 100644
--- a/libraries/liblmdb/mdb.c
+++ b/libraries/liblmdb/mdb.c
@@ -7562,18 +7562,11 @@ mdb_page_split(MDB_cursor *mc, MDB_val *newkey, MDB_val *newdata, pgno_t newpgno
 						}
 						psize += psize & 1;
 					}
-					if (psize > pmax) {
+					if (psize > pmax || i == k-j) {
 						split_indx = i + (j<0);
 						break;
 					}
 				}
-				/* special case: when the new node was on the last
-				 * slot we may not have tripped the break inside the loop.
-				 * In all other cases we either hit the break condition,
-				 * or the original split_indx was already safe.
-				 */
-				if (newindx >= nkeys && i == k)
-					split_indx = nkeys-1;
 			}
 			if (split_indx == newindx) {
 				sepkey.mv_size = newkey->mv_size;
-- 
GitLab