]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-ldap/bind.c
fix leak in case of retry
[openldap] / servers / slapd / back-ldap / bind.c
index 959d5178d5c113050e184d000ade29592b8b21e4..55151b8be8e47b5d1a95ef1644cb0f26041c8435 100644 (file)
@@ -1206,6 +1206,8 @@ retry:;
 
                /* FIXME: one binding-- too many? */
                lc->lc_binding--;
+               assert( lc->lc_refcnt == 1 );
+               lc->lc_refcnt = 0;
                ldap_back_freeconn( op, lc, dolock );
                *lcp = NULL;
                rs->sr_err = slap_map_api2result( rs );
@@ -1344,7 +1346,7 @@ ldap_back_cancel(
        }
 
        if ( LDAP_BACK_IGNORE( li ) ) {
-               return ldap_int_discard( lc->lc_ld, msgid );
+               return ldap_pvt_discard( lc->lc_ld, msgid );
        }
 
        if ( LDAP_BACK_CANCEL( li ) ) {