Commit add9c9c2 authored by Quanah Gibson-Mount's avatar Quanah Gibson-Mount
Browse files

ITS#4672 fix.

parent e57e1a56
......@@ -8,6 +8,7 @@ OpenLDAP 2.3.28 Engineering
Fixed slapd global access controls initialization (ITS#4654)
Fixed slapd setting c_sasl_bindop only on SASL binds
Fixed slapd return code not being propagated (ITS#4565)
Fixed slapd integerBitAndMatch (ITS#4672)
Fixed slapd-ldap retry with idassert (ITS#4686)
Fixed slapd-monitor locking with scope "subordinate" (ITS#4668)
Fixed slapd-perl deletes (ITS#2612)
......
......@@ -2354,16 +2354,11 @@ numericStringNormalize(
* Integer conversion macros that will use the largest available
* type.
*/
#if defined(HAVE_STRTOLL) && defined(LLONG_MAX) \
&& defined(LLONG_MIN) && defined(HAVE_LONG_LONG)
#if defined(HAVE_STRTOLL) && defined(HAVE_LONG_LONG)
# define SLAP_STRTOL(n,e,b) strtoll(n,e,b)
# define SLAP_LONG_MAX LLONG_MAX
# define SLAP_LONG_MIN LLONG_MIN
# define SLAP_LONG long long
#else
# define SLAP_STRTOL(n,e,b) strtol(n,e,b)
# define SLAP_LONG_MAX LONG_MAX
# define SLAP_LONG_MIN LONG_MIN
# define SLAP_LONG long
#endif /* HAVE_STRTOLL ... */
......@@ -2378,18 +2373,17 @@ integerBitAndMatch(
{
SLAP_LONG lValue, lAssertedValue;
errno = 0;
/* safe to assume integers are NUL terminated? */
lValue = SLAP_STRTOL(value->bv_val, NULL, 10);
if(( lValue == SLAP_LONG_MIN || lValue == SLAP_LONG_MAX) &&
errno == ERANGE )
if( errno == ERANGE )
{
return LDAP_CONSTRAINT_VIOLATION;
}
lAssertedValue = SLAP_STRTOL(((struct berval *)assertedValue)->bv_val,
NULL, 10);
if(( lAssertedValue == SLAP_LONG_MIN || lAssertedValue == SLAP_LONG_MAX ) &&
errno == ERANGE )
if( errno == ERANGE )
{
return LDAP_CONSTRAINT_VIOLATION;
}
......@@ -2409,18 +2403,17 @@ integerBitOrMatch(
{
SLAP_LONG lValue, lAssertedValue;
errno = 0;
/* safe to assume integers are NUL terminated? */
lValue = SLAP_STRTOL(value->bv_val, NULL, 10);
if(( lValue == SLAP_LONG_MIN || lValue == SLAP_LONG_MAX ) &&
errno == ERANGE )
if( errno == ERANGE )
{
return LDAP_CONSTRAINT_VIOLATION;
}
lAssertedValue = SLAP_STRTOL( ((struct berval *)assertedValue)->bv_val,
NULL, 10);
if(( lAssertedValue == SLAP_LONG_MIN || lAssertedValue == SLAP_LONG_MAX ) &&
errno == ERANGE )
if( errno == ERANGE )
{
return LDAP_CONSTRAINT_VIOLATION;
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment