add upstream patch to openldap:

ITS#8655 fix double free on paged search with pagesize 0
This commit is contained in:
sthen 2017-05-31 19:59:38 +00:00
parent e6954de35a
commit 717dbcbd57
2 changed files with 26 additions and 2 deletions

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.150 2017/05/19 08:07:33 sthen Exp $
# $OpenBSD: Makefile,v 1.151 2017/05/31 19:59:38 sthen Exp $
DPB_PROPERTIES = parallel
@ -8,7 +8,8 @@ COMMENT-server = open-source LDAP software (server)
DISTNAME = openldap-2.4.44
PKGNAME-main = ${DISTNAME:S/-/-client-/}
PKGNAME-server = ${DISTNAME:S/-/-server-/}
REVISION = 4
REVISION-main = 4
REVISION-server = 5
# overwrite -main pkgname/path to strip FLAVOR, aci only affects the server
FULLPKGNAME-main = ${DISTNAME:S/-/-client-/}${FLAVOR_EXT:S/-aci//}

View File

@ -0,0 +1,23 @@
$OpenBSD: patch-servers_slapd_back-mdb_search_c,v 1.1 2017/05/31 19:59:38 sthen Exp $
From 0cee1ffb6021b1aae3fcc9581699da1c85a6dd6e Mon Sep 17 00:00:00 2001
From: Ryan Tandy <ryan@nardis.ca>
Date: Wed, 17 May 2017 20:07:39 -0700
Subject: [PATCH] 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.
Index: servers/slapd/back-mdb/search.c
--- servers/slapd/back-mdb/search.c.orig
+++ 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;