]> git.sur5r.net Git - openldap/commitdiff
ITS#6746
authorQuanah Gibson-Mount <quanah@openldap.org>
Tue, 4 Jan 2011 19:58:53 +0000 (19:58 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Tue, 4 Jan 2011 19:58:53 +0000 (19:58 +0000)
CHANGES
servers/slapd/overlays/translucent.c

diff --git a/CHANGES b/CHANGES
index 35064db935ba361334813d96b258d5df7cce44c8..b67e3dc8cfe90a718c8117af058f973bb4c3b411 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -77,6 +77,7 @@ OpenLDAP 2.4.24 Engineering
        Fixed slapo-syncprov to refresh if context is dirty (ITS#6710)
        Fixed slapo-syncprov CSN updates to all replicas (ITS#6718)
        Fixed slapo-syncprov sessionlog ordering (ITS#6716)
+       Fixed slapo-translucent entry leak (ITS#6746)
        Fixed contrib/autogroup LDAP URI with attribute filter (ITS#6536)
        Fixed contrib/nssov to only close socket on shutdown (ITS#6676)
        Fixed contrib/nssov multi platform support (ITS#6604)
index 2bbe357d380b46f408d6ea4d5dad91453de9efd3..63f283c009153915b78e2191bfe2df6f7853864f 100644 (file)
@@ -1160,11 +1160,11 @@ static int translucent_search(Operation *op, SlapReply *rs) {
                        av = tavl_end( tc.list, TAVL_DIR_LEFT );
                        while ( av ) {
                                rs->sr_entry = av->avl_data;
-                               rc = test_filter( op, rs->sr_entry, op->ors_filter );
-                               if ( rc == LDAP_COMPARE_TRUE ) {
+                               if ( rc == LDAP_SUCCESS && LDAP_COMPARE_TRUE ==
+                                       test_filter( op, rs->sr_entry, op->ors_filter ))
+                               {
                                        rs->sr_flags = REP_ENTRY_MUSTBEFREED;
                                        rc = send_search_entry( op, rs );
-                                       if ( rc ) break;
                                } else {
                                        entry_free( rs->sr_entry );
                                }