From e51b4238809a5421fd470f02853d38a70747f7bd Mon Sep 17 00:00:00 2001 From: Noriko Hosoi Date: May 03 2016 17:49:51 +0000 Subject: 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) --- diff --git a/ldap/servers/slapd/pagedresults.c b/ldap/servers/slapd/pagedresults.c index d10edd0..c714aff 100644 --- a/ldap/servers/slapd/pagedresults.c +++ b/ldap/servers/slapd/pagedresults.c @@ -145,6 +145,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;