From: Howard Chu Date: Sat, 5 Jul 2008 23:26:41 +0000 (+0000) Subject: ITS#5578 fix binary search X-Git-Tag: LOCKER_IDS~64 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=9b25fa4c38b73c75a933fb5c25316473072d4d1f;p=openldap ITS#5578 fix binary search --- 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++;