Fix check_wildcard() calling convention

We shouldn't return a surprising value in case there is no wildcard and then
rely on the caller to ensure that this doesn't happen
This commit is contained in:
Manuel Pégourié-Gonnard 2017-10-18 14:28:11 +02:00
parent 08eacecc62
commit 900fba616f

View File

@ -1770,8 +1770,9 @@ static int x509_check_wildcard( const char *cn, const mbedtls_x509_buf *name )
size_t i;
size_t cn_idx = 0, cn_len = strlen( cn );
/* We can't have a match if there is no wildcard to match */
if( name->len < 3 || name->p[0] != '*' || name->p[1] != '.' )
return( 0 );
return( -1 );
for( i = 0; i < cn_len; ++i )
{
@ -2194,9 +2195,7 @@ static int x509_crt_check_cn( const mbedtls_x509_buf *name,
}
/* try wildcard match */
if( name->len > 2 &&
memcmp( name->p, "*.", 2 ) == 0 &&
x509_check_wildcard( cn, name ) == 0 )
if( x509_check_wildcard( cn, name ) == 0 )
{
return( 0 );
}