mirror of
https://git.openldap.org/openldap/openldap.git
synced 2026-01-07 07:30:57 -05:00
hex digits need to be in pairs (ITS#6652)
This commit is contained in:
parent
cddaeff565
commit
0a12ea91df
1 changed files with 11 additions and 1 deletions
|
|
@ -1051,6 +1051,8 @@ logSchemaControlValidate(
|
|||
/* extract and check controlValue */
|
||||
if ( strncasecmp( &val.bv_val[ i ], "controlValue ", STRLENOF( "controlValue " ) ) == 0 )
|
||||
{
|
||||
ber_len_t valueStart, valueLen;
|
||||
|
||||
i += STRLENOF( "controlValue " );
|
||||
for ( ; i < val.bv_len; i++ ) {
|
||||
if ( !ASCII_SPACE( val.bv_val[ i ] ) ) {
|
||||
|
|
@ -1066,7 +1068,10 @@ logSchemaControlValidate(
|
|||
return LDAP_INVALID_SYNTAX;
|
||||
}
|
||||
|
||||
for ( i++; i < val.bv_len; i++ ) {
|
||||
i++;
|
||||
valueStart = i;
|
||||
|
||||
for ( ; i < val.bv_len; i++ ) {
|
||||
if ( val.bv_val[ i ] == '"' ) {
|
||||
break;
|
||||
}
|
||||
|
|
@ -1080,6 +1085,11 @@ logSchemaControlValidate(
|
|||
return LDAP_INVALID_SYNTAX;
|
||||
}
|
||||
|
||||
valueLen = i - valueStart;
|
||||
if ( (valueLen/2)*2 != valueLen ) {
|
||||
return LDAP_INVALID_SYNTAX;
|
||||
}
|
||||
|
||||
for ( i++; i < val.bv_len; i++ ) {
|
||||
if ( !ASCII_SPACE( val.bv_val[ i ] ) ) {
|
||||
break;
|
||||
|
|
|
|||
Loading…
Reference in a new issue