]> git.sur5r.net Git - openldap/commitdiff
ITS#8412 fix NEXT_DUP after cursor_del
authorHoward Chu <hyc@openldap.org>
Tue, 26 Apr 2016 11:52:21 +0000 (12:52 +0100)
committerHoward Chu <hyc@openldap.org>
Tue, 26 Apr 2016 11:52:21 +0000 (12:52 +0100)
libraries/liblmdb/mdb.c

index e62ca628e71946c4eb54926bf6b9ec6c4843a848..72294a7e519867a3539384545081d0c763f723a9 100644 (file)
@@ -6417,7 +6417,8 @@ mdb_cursor_next(MDB_cursor *mc, MDB_val *key, MDB_val *data, MDB_cursor_op op)
        MDB_node        *leaf;
        int rc;
 
-       if (mc->mc_flags & C_EOF) {
+       if ((mc->mc_flags & C_EOF) ||
+               ((mc->mc_flags & C_DEL) && op == MDB_NEXT_DUP)) {
                return MDB_NOTFOUND;
        }
        if (!(mc->mc_flags & C_INITIALIZED))