diff --git a/servers/slurpd/ldap_op.c b/servers/slurpd/ldap_op.c index 4c75947010..79d1ba3467 100644 --- a/servers/slurpd/ldap_op.c +++ b/servers/slurpd/ldap_op.c @@ -89,8 +89,10 @@ do_ldap( while ( retry > 0 ) { if ( ri->ri_ldp == NULL ) { rc = do_bind( ri, &lderr ); + if ( rc != BIND_OK ) { - return DO_LDAP_ERR_RETRYABLE; + (void) do_unbind( ri ); + return DO_LDAP_ERR_RETRYABLE; } }