Propogate error when parsing SubjectAltNames
The previous behaviour of mbedtls_x509_parse_subject_alternative_name()
was to silently ignore errors coming from x509_get_other_name(). The
current commit fixes it and returns with an error.
@@ -1823,8 +1823,9 @@ int mbedtls_x509_parse_subject_alternative_name( const mbedtls_x509_crt *crt,
* In case MBEDTLS_ERR_X509_FEATURE_UNAVAILABLE is returned,
* then the "otherName" is of an unsupported type. Ignore.
*/
- if( ret == MBEDTLS_ERR_X509_FEATURE_UNAVAILABLE )
- ret = 0;
+ if( ret != MBEDTLS_ERR_X509_FEATURE_UNAVAILABLE )
+ return MBEDTLS_ERR_X509_INVALID_FORMAT;
+
cur = cur->next;
continue;
}
