Allow subidentifiers of size UINT_MAX
Make overflow check more accurate and add testcases Signed-off-by: David Horstmann <david.horstmann@arm.com>
This commit is contained in:
parent
bf95e9a058
commit
02127ab022
2 changed files with 7 additions and 1 deletions
|
@ -1012,7 +1012,7 @@ int mbedtls_oid_from_numeric_string(mbedtls_asn1_buf *oid,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((UINT_MAX - component2) <= (component1 * 40)) {
|
if (component2 > (UINT_MAX - (component1 * 40))) {
|
||||||
ret = MBEDTLS_ERR_ASN1_INVALID_DATA;
|
ret = MBEDTLS_ERR_ASN1_INVALID_DATA;
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
|
@ -161,3 +161,9 @@ oid_from_numeric_string:"1.2.3/4":MBEDTLS_ERR_ASN1_INVALID_DATA:""
|
||||||
|
|
||||||
OID from numeric string - OID greater than max length (129 components)
|
OID from numeric string - OID greater than max length (129 components)
|
||||||
oid_from_numeric_string:"1.2.3.4.5.6.7.8.1.2.3.4.5.6.7.8.1.2.3.4.5.6.7.8.1.2.3.4.5.6.7.8.1.2.3.4.5.6.7.8.1.2.3.4.5.6.7.8.1.2.3.4.5.6.7.8.1.2.3.4.5.6.7.8.1.2.3.4.5.6.7.8.1.2.3.4.5.6.7.8.1.2.3.4.5.6.7.8.1.2.3.4.5.6.7.8.1.2.3.4.5.6.7.8.1.2.3.4.5.6.7.8.1.2.3.4.5.6.7.8.1.2.3.4.5.6.7.8.1":MBEDTLS_ERR_ASN1_INVALID_DATA:""
|
oid_from_numeric_string:"1.2.3.4.5.6.7.8.1.2.3.4.5.6.7.8.1.2.3.4.5.6.7.8.1.2.3.4.5.6.7.8.1.2.3.4.5.6.7.8.1.2.3.4.5.6.7.8.1.2.3.4.5.6.7.8.1.2.3.4.5.6.7.8.1.2.3.4.5.6.7.8.1.2.3.4.5.6.7.8.1.2.3.4.5.6.7.8.1.2.3.4.5.6.7.8.1.2.3.4.5.6.7.8.1.2.3.4.5.6.7.8.1.2.3.4.5.6.7.8.1.2.3.4.5.6.7.8.1":MBEDTLS_ERR_ASN1_INVALID_DATA:""
|
||||||
|
|
||||||
|
OID from numeric string - OID with maximum subidentifier
|
||||||
|
oid_from_numeric_string:"2.4294967215":0:"8FFFFFFF7F"
|
||||||
|
|
||||||
|
OID from numeric string - OID with overflowing subidentifier
|
||||||
|
oid_from_numeric_string:"2.4294967216":MBEDTLS_ERR_ASN1_INVALID_DATA:""
|
||||||
|
|
Loading…
Reference in a new issue