summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHoward Chu <hyc@openldap.org>2016-01-11 20:25:33 +0000
committerHoward Chu <hyc@openldap.org>2016-01-11 20:25:33 +0000
commita5bf1648c69d316a5df0d45b2f43fc61f071d043 (patch)
tree18e0959082e77b890cd9c1351ea8980f7a74b6e9
parent447683a8244dccdd395d33fa9cf45ac23d10cfc3 (diff)
downloadlmdb-a5bf1648c69d316a5df0d45b2f43fc61f071d043.tar.gz
lmdb-a5bf1648c69d316a5df0d45b2f43fc61f071d043.tar.bz2
lmdb-a5bf1648c69d316a5df0d45b2f43fc61f071d043.zip
ITS#8347 fix off-by-one in VL32 purge
-rw-r--r--libraries/liblmdb/mdb.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libraries/liblmdb/mdb.c b/libraries/liblmdb/mdb.c
index bd129c4..1991f01 100644
--- a/libraries/liblmdb/mdb.c
+++ b/libraries/liblmdb/mdb.c
@@ -5766,7 +5766,7 @@ notlocal:
pthread_mutex_lock(&env->me_rpmutex);
retry:
y = 0;
- for (i=1; i<tl[0].mid; i++) {
+ for (i=1; i<=tl[0].mid; i++) {
if (!tl[i].mref) {
if (!y) y = i;
/* tmp overflow pages don't go to env */
@@ -5846,7 +5846,7 @@ retry:
if (el[0].mid >= MDB_ERPAGE_MAX - env->me_rpcheck) {
/* purge unref'd pages */
unsigned i, y = 0;
- for (i=1; i<el[0].mid; i++) {
+ for (i=1; i<=el[0].mid; i++) {
if (!el[i].mref) {
if (!y) y = i;
munmap(el[i].mptr, env->me_psize * el[i].mcnt);