From: Ryan Tandy Date: Thu, 18 May 2017 03:07:39 +0000 (-0700) Subject: ITS#8655 fix double free on paged search with pagesize 0 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=0cee1ffb6021b1aae3fcc9581699da1c85a6dd6e;p=openldap ITS#8655 fix double free on paged search with pagesize 0 Fixes a double free when a search includes the Paged Results control with a page size of 0 and the search base matches the filter. --- diff --git a/servers/slapd/back-mdb/search.c b/servers/slapd/back-mdb/search.c index 301d1a498c..43442aa242 100644 --- a/servers/slapd/back-mdb/search.c +++ b/servers/slapd/back-mdb/search.c @@ -1066,7 +1066,8 @@ notfound: /* check size limit */ if ( get_pagedresults(op) > SLAP_CONTROL_IGNORED ) { if ( rs->sr_nentries >= ((PagedResultsState *)op->o_pagedresults_state)->ps_size ) { - mdb_entry_return( op, e ); + if (e != base) + mdb_entry_return( op, e ); e = NULL; send_paged_response( op, rs, &lastid, tentries ); goto done;