From 29be94af000915313b7ae1b798f7fe62267dd6bc Mon Sep 17 00:00:00 2001
From: Quanah Gibson-Mount <quanah@openldap.org>
Date: Tue, 18 Nov 2008 02:18:53 +0000
Subject: [PATCH] ITS#5816

---
 CHANGES                          | 1 +
 servers/slapd/back-ldap/search.c | 7 ++++++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/CHANGES b/CHANGES
index b274004590..eceffd88f5 100644
--- a/CHANGES
+++ b/CHANGES
@@ -40,6 +40,7 @@ OpenLDAP 2.4.13 Engineering
 	Fixed slapd-bdb/hdb indexing of entryDN (ITS#5790)
 	Fixed slapd-bdb/hdb lookup of entryDN with equality (ITS#5791)
 	Fixed slapd-ldap snprintf buffer overflow test (ITS#4467)
+	Fixed slapd-ldap search stop on minor failure (ITS#5816)
 	Fixed slapd-ldif file rename on windows (ITS#5774)
 	Fixed slapd-null read controls support (ITS#5757)
 	Fixed slapd-sql value length with right index (ITS#5779)
diff --git a/servers/slapd/back-ldap/search.c b/servers/slapd/back-ldap/search.c
index bcc843f1eb..08a5692061 100644
--- a/servers/slapd/back-ldap/search.c
+++ b/servers/slapd/back-ldap/search.c
@@ -360,7 +360,12 @@ retry:
 				entry_clean( &ent );
 			}
 			ldap_msgfree( res );
-			if ( rc != LDAP_SUCCESS ) {
+			switch ( rc ) {
+			case LDAP_SUCCESS:
+			case LDAP_INSUFFICIENT_ACCESS:
+				break;
+
+			default:
 				if ( rc == LDAP_UNAVAILABLE ) {
 					rc = rs->sr_err = LDAP_OTHER;
 				} else {
-- 
GitLab