From 95d4d41ee63d34bf57175528adfa384f0cceff26 Mon Sep 17 00:00:00 2001 From: Quanah Gibson-Mount <quanah@openldap.org> Date: Thu, 10 Jul 2008 02:17:13 +0000 Subject: [PATCH] ITS#5578 --- CHANGES | 1 + servers/slapd/attr.c | 11 +++++------ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/CHANGES b/CHANGES index 917a2d4852..e4ba6f9f63 100644 --- a/CHANGES +++ b/CHANGES @@ -12,6 +12,7 @@ OpenLDAP 2.4.11 Engineering Fixed slapd crash with no listeners (ITS#5563) Fixed slapd equality rules for olcRootDN/olcSchemaDN (ITS#5540) Fixed slapd sets memory leak (ITS#5557) + Fixed slapd sortvals binary search (ITS#5578) Fixed slapd/slapo-syncprov syncrepl contextCSN updates as internal ops (ITS#5596) Fixed slapd-meta link to slapd-ldap (ITS#5355) Fixed slapd-sock, back-shell buffer count (ITS#5558) diff --git a/servers/slapd/attr.c b/servers/slapd/attr.c index e54ed671be..8204fa7be8 100644 --- a/servers/slapd/attr.c +++ b/servers/slapd/attr.c @@ -324,17 +324,16 @@ attr_valfind( while ( 0 < n ) { unsigned pivot = n >> 1; i = base + pivot; - if ( i >= a->a_numvals ) { - i = a->a_numvals - 1; - break; - } rc = value_match( &match, a->a_desc, mr, flags, &a->a_nvals[i], cval, &text ); if ( rc == LDAP_SUCCESS && match == 0 ) break; - n = pivot; - if ( match < 0 ) + if ( match < 0 ) { base = i+1; + n -= pivot+1; + } else { + n = pivot; + } } if ( match < 0 ) i++; -- GitLab