From 4dfc7fc674b78298cdad9638d8c91e3b5e933517 Mon Sep 17 00:00:00 2001
From: Kurt Zeilenga <kurt@openldap.org>
Date: Sun, 12 Dec 1999 20:12:39 +0000
Subject: [PATCH] Fix server unavailable handling bug introduced by the
 ldap_open to ldap_init change.   Fix suggested by Jay D. Allen
 <jay@fork.com>.

---
 servers/slurpd/ldap_op.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

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;
 	    }
 	}
 
-- 
GitLab