mirror of
https://github.com/cuberite/polarssl.git
synced 2025-09-10 07:36:28 -04:00
Merge pull request #8695 from jwinzig-at-hilscher/mbedtls-2.28
Backport 2.28: Fix bug in mbedtls_x509_set_extension
This commit is contained in:
commit
1296ac8348
@ -195,6 +195,10 @@ int mbedtls_x509_set_extension(mbedtls_asn1_named_data **head, const char *oid,
|
|||||||
{
|
{
|
||||||
mbedtls_asn1_named_data *cur;
|
mbedtls_asn1_named_data *cur;
|
||||||
|
|
||||||
|
if (val_len > (SIZE_MAX - 1)) {
|
||||||
|
return MBEDTLS_ERR_X509_BAD_INPUT_DATA;
|
||||||
|
}
|
||||||
|
|
||||||
if ((cur = mbedtls_asn1_store_named_data(head, oid, oid_len,
|
if ((cur = mbedtls_asn1_store_named_data(head, oid, oid_len,
|
||||||
NULL, val_len + 1)) == NULL) {
|
NULL, val_len + 1)) == NULL) {
|
||||||
return MBEDTLS_ERR_X509_ALLOC_FAILED;
|
return MBEDTLS_ERR_X509_ALLOC_FAILED;
|
||||||
|
@ -138,3 +138,6 @@ mbedtls_x509_string_to_names:"ABC123":"":MBEDTLS_ERR_X509_INVALID_NAME
|
|||||||
|
|
||||||
Check max serial length
|
Check max serial length
|
||||||
x509_set_serial_check:
|
x509_set_serial_check:
|
||||||
|
|
||||||
|
Check max extension length
|
||||||
|
x509_set_extension_length_check:
|
||||||
|
@ -499,3 +499,24 @@ exit:
|
|||||||
USE_PSA_DONE();
|
USE_PSA_DONE();
|
||||||
}
|
}
|
||||||
/* END_CASE */
|
/* END_CASE */
|
||||||
|
|
||||||
|
/* BEGIN_CASE depends_on:MBEDTLS_X509_CSR_WRITE_C */
|
||||||
|
void x509_set_extension_length_check()
|
||||||
|
{
|
||||||
|
int ret = 0;
|
||||||
|
|
||||||
|
mbedtls_x509write_csr ctx;
|
||||||
|
mbedtls_x509write_csr_init(&ctx);
|
||||||
|
|
||||||
|
unsigned char buf[EXT_KEY_USAGE_TMP_BUF_MAX_LENGTH] = { 0 };
|
||||||
|
unsigned char *p = buf + sizeof(buf);
|
||||||
|
|
||||||
|
ret = mbedtls_x509_set_extension(&(ctx.extensions),
|
||||||
|
MBEDTLS_OID_EXTENDED_KEY_USAGE,
|
||||||
|
MBEDTLS_OID_SIZE(MBEDTLS_OID_EXTENDED_KEY_USAGE),
|
||||||
|
0,
|
||||||
|
p,
|
||||||
|
SIZE_MAX);
|
||||||
|
TEST_ASSERT(MBEDTLS_ERR_X509_BAD_INPUT_DATA == ret);
|
||||||
|
}
|
||||||
|
/* END_CASE */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user