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
diff --git a/library/x509_crt.c b/library/x509_crt.c
index 782a5ca..e8a46da 100644
--- a/library/x509_crt.c
+++ b/library/x509_crt.c
@@ -1770,8 +1770,9 @@
     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 @@
     }
 
     /* 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 );
     }