]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-ldap/compare.c
fix leak in case of retry
[openldap] / servers / slapd / back-ldap / compare.c
index 9062b921faf871919abfca1393dd6721e6d02d08..1d667993a2a036c2d625ef606a84e40b685b2a47 100644 (file)
@@ -38,14 +38,13 @@ ldap_back_compare(
 {
        ldapinfo_t              *li = (ldapinfo_t *)op->o_bd->be_private;
 
-       ldapconn_t              *lc;
+       ldapconn_t              *lc = NULL;
        ber_int_t               msgid;
        ldap_back_send_t        retrying = LDAP_BACK_RETRYING;
        LDAPControl             **ctrls = NULL;
        int                     rc = LDAP_SUCCESS;
 
-       lc = ldap_back_getconn( op, rs, LDAP_BACK_SENDERR );
-       if ( !lc || !ldap_back_dobind( lc, op, rs, LDAP_BACK_SENDERR ) ) {
+       if ( !ldap_back_dobind( &lc, op, rs, LDAP_BACK_SENDERR ) ) {
                lc = NULL;
                goto cleanup;
        }