hex digits need to be in pairs (ITS#6652)

This commit is contained in:
Pierangelo Masarati 2011-01-02 15:58:48 +00:00
parent cddaeff565
commit 0a12ea91df

View file

@ -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;