]> git.sur5r.net Git - openldap/commitdiff
Tweak ITS#8722 fix: Use XCURSOR_REFRESH()
authorHallvard Furuseth <hallvard@openldap.org>
Sun, 10 Sep 2017 22:00:14 +0000 (00:00 +0200)
committerQuanah Gibson-Mount <quanah@openldap.org>
Sun, 11 Feb 2018 20:59:44 +0000 (20:59 +0000)
This checks XCURSOR_INITED() and fixes the mn_flags check.

libraries/liblmdb/mdb.c

index 7f6c536341340a3a73af5aed3358fa1609613771..e31867de8207a9f0476c0707185e107f6feee4fa 100644 (file)
@@ -7084,13 +7084,7 @@ mdb_cursor_del(MDB_cursor *mc, unsigned int flags)
                                                if (m2 == mc || m2->mc_snum < mc->mc_snum) continue;
                                                if (!(m2->mc_flags & C_INITIALIZED)) continue;
                                                if (m2->mc_pg[mc->mc_top] == mp) {
-                                                       MDB_node *n2 = leaf;
-                                                       if (m2->mc_ki[mc->mc_top] >= NUMKEYS(mp)) continue;
-                                                       if (m2->mc_ki[mc->mc_top] != mc->mc_ki[mc->mc_top]) {
-                                                               n2 = NODEPTR(mp, m2->mc_ki[mc->mc_top]);
-                                                               if (n2->mn_flags & F_SUBDATA) continue;
-                                                       }
-                                                       m2->mc_xcursor->mx_cursor.mc_pg[0] = NODEDATA(n2);
+                                                       XCURSOR_REFRESH(m2, mc->mc_top, mp);
                                                }
                                        }
                                }