Blob Blame Raw
From 39a14eaab84e7eac940d1d707cabc9610ef570c6 Mon Sep 17 00:00:00 2001
From: Noriko Hosoi <nhosoi@redhat.com>
Date: Tue, 26 Apr 2016 13:53:02 -0700
Subject: [PATCH 92/93] Ticket #48808 - Paged results search returns the blank
 list of entries

Bug Description: When a simple paged results slot in a connection is
discarded due to an error, e.g., SIZELIMIT_EXCEEDED, the slot was not
properly cleaned up.  Then, if the slot was reused, the leftover flag
confused the code and ended up returning the 0 search result.

Fix Description: This patch adds the clean up code when a slot is re-
used.

https://fedorahosted.org/389/ticket/48808

Reviewed by wibrown@redhat.com (Thank you, William!!)

(cherry picked from commit 09180b25570696d24c86e3a046fb497c15549c64)
(cherry picked from commit a8486ab3b364a9ae088d6404d025058b04ac358d)
---
 ldap/servers/slapd/pagedresults.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/ldap/servers/slapd/pagedresults.c b/ldap/servers/slapd/pagedresults.c
index d394dab..52d2158 100644
--- a/ldap/servers/slapd/pagedresults.c
+++ b/ldap/servers/slapd/pagedresults.c
@@ -124,6 +124,7 @@ pagedresults_parse_control_value( Slapi_PBlock *pb,
             prp = conn->c_pagedresults.prl_list;
             for (i = 0; i < conn->c_pagedresults.prl_maxlen; i++, prp++) {
                 if (!prp->pr_current_be) { /* unused slot; take it */
+                    _pr_cleanup_one_slot(prp);
                     prp->pr_current_be = be;
                     *index = i;
                     break;
-- 
2.4.11