Browse Source

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 [email protected] (Thank you, William!!)

(cherry picked from commit 09180b25570696d24c86e3a046fb497c15549c64)
(cherry picked from commit a8486ab3b364a9ae088d6404d025058b04ac358d)
Noriko Hosoi 9 years ago
parent
commit
e51b423880
1 changed files with 1 additions and 0 deletions
  1. 1 0
      ldap/servers/slapd/pagedresults.c

+ 1 - 0
ldap/servers/slapd/pagedresults.c

@@ -145,6 +145,7 @@ pagedresults_parse_control_value( Slapi_PBlock *pb,
             prp = conn->c_pagedresults.prl_list;
             prp = conn->c_pagedresults.prl_list;
             for (i = 0; i < conn->c_pagedresults.prl_maxlen; i++, prp++) {
             for (i = 0; i < conn->c_pagedresults.prl_maxlen; i++, prp++) {
                 if (!prp->pr_current_be) { /* unused slot; take it */
                 if (!prp->pr_current_be) { /* unused slot; take it */
+                    _pr_cleanup_one_slot(prp);
                     prp->pr_current_be = be;
                     prp->pr_current_be = be;
                     *index = i;
                     *index = i;
                     break;
                     break;