[FIXUP] Fix bug in ASN.1 traversal of silently ignored tag
diff --git a/library/asn1parse.c b/library/asn1parse.c
index 68a70e6..aac253b 100644
--- a/library/asn1parse.c
+++ b/library/asn1parse.c
@@ -273,11 +273,11 @@
if( ( tag & tag_must_mask ) != tag_must_val )
return( MBEDTLS_ERR_ASN1_UNEXPECTED_TAG );
+ if( ( ret = mbedtls_asn1_get_len( p, end, &len ) ) != 0 )
+ return( ret );
+
if( ( tag & tag_may_mask ) == tag_may_val )
{
- if( ( ret = mbedtls_asn1_get_len( p, end, &len ) ) != 0 )
- return( ret );
-
if( cb != NULL )
{
ret = cb( ctx, tag, *p, len );