]> git.sur5r.net Git - openldap/commitdiff
ITS#5409
authorQuanah Gibson-Mount <quanah@openldap.org>
Tue, 15 Apr 2008 00:15:00 +0000 (00:15 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Tue, 15 Apr 2008 00:15:00 +0000 (00:15 +0000)
CHANGES
servers/slapd/back-bdb/search.c
servers/slapd/controls.c

diff --git a/CHANGES b/CHANGES
index 4b335bf8d535746863310dae34384d50df33611a..493091f0501546e84926ce81507d16ebf55ca513 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -7,6 +7,7 @@ OpenLDAP 2.4.9 Engineering
        Fixed slapd add operations requiring naming attrs (ITS#5412)
        Fixed slapd frontendDB backend selection (ITS#5419)
        Fixed slapd delta-syncrepl resync (ITS#5378)
+       Fixed slapd pagedresults stale state (ITS#5409)
        Fixed slapd pointer dereference (ITS#5388)
        Fixed slapd null argument dereference (ITS#5435)
        Fixed slapd sets attribute description parsing (ITS#5402)
index abe130f5502f1319867ed83137efb3a7278b09a4..3bbe0a7abcfd7185c801a114088f88d32378ff59 100644 (file)
@@ -1160,10 +1160,6 @@ parse_paged_cookie( Operation *op, SlapReply *rs )
                        goto done;
                }
 
-       } else {
-               /* Initial request.  Initialize state. */
-               ps->ps_cookie = 0;
-               ps->ps_count = 0;
        }
 
 done:;
index b7f66eeab2faa2a1aa441295f814b7f40bc1a65b..042fccca8f080fabb569356d14c6a37ff3e59bc8 100644 (file)
@@ -1102,6 +1102,10 @@ static int parsePagedResults (
        ps->ps_size = size;
        ps->ps_cookieval = cookie;
        op->o_pagedresults_state = ps;
+       if ( !cookie.bv_len ) {
+               ps->ps_count = 0;
+               ps->ps_cookie = 0;
+       }
 
        /* NOTE: according to RFC 2696 3.: