Reverse meaning of OID_CMP
diff --git a/include/mbedtls/asn1.h b/include/mbedtls/asn1.h
index 0bfa929..01081ad 100644
--- a/include/mbedtls/asn1.h
+++ b/include/mbedtls/asn1.h
@@ -99,12 +99,10 @@
*
* Only works for 'defined' oid_str values (OID_HMAC_SHA1), you cannot use a
* 'unsigned char *oid' here!
- *
- * Warning: returns true when the OIDs are equal (unlike memcmp)!
*/
#define OID_CMP(oid_str, oid_buf) \
- ( ( OID_SIZE(oid_str) == (oid_buf)->len ) && \
- memcmp( (oid_str), (oid_buf)->p, (oid_buf)->len) == 0 )
+ ( ( OID_SIZE(oid_str) != (oid_buf)->len ) || \
+ memcmp( (oid_str), (oid_buf)->p, (oid_buf)->len) != 0 )
#ifdef __cplusplus
extern "C" {
diff --git a/library/pkcs5.c b/library/pkcs5.c
index 79d67e9..280453a 100644
--- a/library/pkcs5.c
+++ b/library/pkcs5.c
@@ -97,7 +97,7 @@
if( ( ret = asn1_get_alg_null( &p, end, &prf_alg_oid ) ) != 0 )
return( POLARSSL_ERR_PKCS5_INVALID_FORMAT + ret );
- if( !OID_CMP( OID_HMAC_SHA1, &prf_alg_oid ) )
+ if( OID_CMP( OID_HMAC_SHA1, &prf_alg_oid ) != 0 )
return( POLARSSL_ERR_PKCS5_FEATURE_UNAVAILABLE );
*md_type = POLARSSL_MD_SHA1;
@@ -145,7 +145,7 @@
// Only PBKDF2 supported at the moment
//
- if( !OID_CMP( OID_PKCS5_PBKDF2, &kdf_alg_oid ) )
+ if( OID_CMP( OID_PKCS5_PBKDF2, &kdf_alg_oid ) != 0 )
return( POLARSSL_ERR_PKCS5_FEATURE_UNAVAILABLE );
if( ( ret = pkcs5_parse_pbkdf2_params( &kdf_alg_params,
diff --git a/library/pkparse.c b/library/pkparse.c
index 1529a93..b42bf8b 100644
--- a/library/pkparse.c
+++ b/library/pkparse.c
@@ -997,7 +997,7 @@
decrypted = 1;
}
- else if( OID_CMP( OID_PKCS12_PBE_SHA1_RC4_128, &pbe_alg_oid ) )
+ else if( OID_CMP( OID_PKCS12_PBE_SHA1_RC4_128, &pbe_alg_oid ) == 0 )
{
if( ( ret = pkcs12_pbe_sha1_rc4_128( &pbe_params,
PKCS12_PBE_DECRYPT,
@@ -1018,7 +1018,7 @@
else
#endif /* POLARSSL_PKCS12_C */
#if defined(POLARSSL_PKCS5_C)
- if( OID_CMP( OID_PKCS5_PBES2, &pbe_alg_oid ) )
+ if( OID_CMP( OID_PKCS5_PBES2, &pbe_alg_oid ) == 0 )
{
if( ( ret = pkcs5_pbes2( &pbe_params, PKCS5_DECRYPT, pwd, pwdlen,
p, len, buf ) ) != 0 )
diff --git a/library/x509.c b/library/x509.c
index c1fd8ad..33b1ac3 100644
--- a/library/x509.c
+++ b/library/x509.c
@@ -269,7 +269,7 @@
return( ret );
/* Only MFG1 is recognised for now */
- if( ! OID_CMP( OID_MGF1, &alg_id ) )
+ if( OID_CMP( OID_MGF1, &alg_id ) != 0 )
return( POLARSSL_ERR_X509_FEATURE_UNAVAILABLE +
POLARSSL_ERR_OID_NOT_FOUND );
diff --git a/library/x509_crt.c b/library/x509_crt.c
index 84e4415..8b93473 100644
--- a/library/x509_crt.c
+++ b/library/x509_crt.c
@@ -1417,7 +1417,7 @@
return( 0 );
}
- if( OID_CMP( OID_ANY_EXTENDED_KEY_USAGE, cur_oid ) )
+ if( OID_CMP( OID_ANY_EXTENDED_KEY_USAGE, cur_oid ) == 0 )
return( 0 );
}
@@ -1961,7 +1961,7 @@
{
while( name != NULL )
{
- if( OID_CMP( OID_AT_CN, &name->oid ) )
+ if( OID_CMP( OID_AT_CN, &name->oid ) == 0 )
{
if( name->val.len == cn_len &&
x509_memcasecmp( name->val.p, cn, cn_len ) == 0 )