diff --git a/servers/slurpd/ldap_op.c b/servers/slurpd/ldap_op.c index 4c75947010075efc576224517589b798b723b84e..79d1ba34674e435a4de4ca4e01f66b4165591b43 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; } }