Module Name:    src
Committed By:   christos
Date:           Sat Feb  7 17:57:00 UTC 2015

Modified Files:
        src/external/bsd/openldap/dist/servers/slapd: filter.c

Log Message:
Apply: http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=commit;\
    h=2f1a2dd329b91afe561cd06b872d09630d4edb6a

Certain search queries including the Matched Values control can trigger
a double free in slapd 2.4.40 when freeing operation controls. This is a
regression in 2.4.40, no earlier releases are affected. [CVE-1546]

XXX: Pullup-7


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.4 -r1.2 \
    src/external/bsd/openldap/dist/servers/slapd/filter.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/bsd/openldap/dist/servers/slapd/filter.c
diff -u src/external/bsd/openldap/dist/servers/slapd/filter.c:1.1.1.4 src/external/bsd/openldap/dist/servers/slapd/filter.c:1.2
--- src/external/bsd/openldap/dist/servers/slapd/filter.c:1.1.1.4	Wed May 28 05:58:46 2014
+++ src/external/bsd/openldap/dist/servers/slapd/filter.c	Sat Feb  7 12:56:59 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: filter.c,v 1.1.1.4 2014/05/28 09:58:46 tron Exp $	*/
+/*	$NetBSD: filter.c,v 1.2 2015/02/07 17:56:59 christos Exp $	*/
 
 /* filter.c - routines for parsing and dealing with filters */
 /* $OpenLDAP$ */
@@ -1160,14 +1160,10 @@ get_vrFilter( Operation *op, BerElement 
 void
 vrFilter_free( Operation *op, ValuesReturnFilter *vrf )
 {
-	ValuesReturnFilter	*p, *next;
+	ValuesReturnFilter	*next;
 
-	if ( vrf == NULL ) {
-		return;
-	}
-
-	for ( p = vrf; p != NULL; p = next ) {
-		next = p->vrf_next;
+	for ( p = vrf; vrf != NULL; vrf = next ) {
+		next = vrf->vrf_next;
 
 		switch ( vrf->vrf_choice & SLAPD_FILTER_MASK ) {
 		case LDAP_FILTER_PRESENT:

Reply via email to