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.
diff --git a/library/x509_crt.c b/library/x509_crt.c
index a01b53c..047e4e6 100644
--- a/library/x509_crt.c
+++ b/library/x509_crt.c
@@ -1823,8 +1823,9 @@
* 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;
}