mirror of
https://github.com/cuberite/polarssl.git
synced 2025-09-12 00:26:27 -04:00
Allow null buffers when the length is 0
Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
This commit is contained in:
parent
84dc44b9b5
commit
9721b868a2
@ -927,7 +927,7 @@ int mbedtls_ecp_point_read_binary(const mbedtls_ecp_group *grp,
|
|||||||
size_t plen;
|
size_t plen;
|
||||||
ECP_VALIDATE_RET(grp != NULL);
|
ECP_VALIDATE_RET(grp != NULL);
|
||||||
ECP_VALIDATE_RET(pt != NULL);
|
ECP_VALIDATE_RET(pt != NULL);
|
||||||
ECP_VALIDATE_RET(buf != NULL);
|
ECP_VALIDATE_RET(ilen == 0 || buf != NULL);
|
||||||
|
|
||||||
if (ilen < 1) {
|
if (ilen < 1) {
|
||||||
return MBEDTLS_ERR_ECP_BAD_INPUT_DATA;
|
return MBEDTLS_ERR_ECP_BAD_INPUT_DATA;
|
||||||
@ -996,7 +996,7 @@ int mbedtls_ecp_tls_read_point(const mbedtls_ecp_group *grp,
|
|||||||
ECP_VALIDATE_RET(grp != NULL);
|
ECP_VALIDATE_RET(grp != NULL);
|
||||||
ECP_VALIDATE_RET(pt != NULL);
|
ECP_VALIDATE_RET(pt != NULL);
|
||||||
ECP_VALIDATE_RET(buf != NULL);
|
ECP_VALIDATE_RET(buf != NULL);
|
||||||
ECP_VALIDATE_RET(*buf != NULL);
|
ECP_VALIDATE_RET(buf_len == 0 || *buf != NULL);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We must have at least two bytes (1 for length, at least one for data)
|
* We must have at least two bytes (1 for length, at least one for data)
|
||||||
@ -1068,7 +1068,7 @@ int mbedtls_ecp_tls_read_group(mbedtls_ecp_group *grp,
|
|||||||
mbedtls_ecp_group_id grp_id;
|
mbedtls_ecp_group_id grp_id;
|
||||||
ECP_VALIDATE_RET(grp != NULL);
|
ECP_VALIDATE_RET(grp != NULL);
|
||||||
ECP_VALIDATE_RET(buf != NULL);
|
ECP_VALIDATE_RET(buf != NULL);
|
||||||
ECP_VALIDATE_RET(*buf != NULL);
|
ECP_VALIDATE_RET(len == 0 || *buf != NULL);
|
||||||
|
|
||||||
if ((ret = mbedtls_ecp_tls_read_group_id(&grp_id, buf, len)) != 0) {
|
if ((ret = mbedtls_ecp_tls_read_group_id(&grp_id, buf, len)) != 0) {
|
||||||
return ret;
|
return ret;
|
||||||
@ -1088,7 +1088,7 @@ int mbedtls_ecp_tls_read_group_id(mbedtls_ecp_group_id *grp,
|
|||||||
const mbedtls_ecp_curve_info *curve_info;
|
const mbedtls_ecp_curve_info *curve_info;
|
||||||
ECP_VALIDATE_RET(grp != NULL);
|
ECP_VALIDATE_RET(grp != NULL);
|
||||||
ECP_VALIDATE_RET(buf != NULL);
|
ECP_VALIDATE_RET(buf != NULL);
|
||||||
ECP_VALIDATE_RET(*buf != NULL);
|
ECP_VALIDATE_RET(len == 0 || *buf != NULL);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We expect at least three bytes (see below)
|
* We expect at least three bytes (see below)
|
||||||
@ -3361,7 +3361,7 @@ int mbedtls_ecp_write_key(mbedtls_ecp_keypair *key,
|
|||||||
int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
|
int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
|
||||||
|
|
||||||
ECP_VALIDATE_RET(key != NULL);
|
ECP_VALIDATE_RET(key != NULL);
|
||||||
ECP_VALIDATE_RET(buf != NULL);
|
ECP_VALIDATE_RET(buflen == 0 || buf != NULL);
|
||||||
|
|
||||||
#if defined(MBEDTLS_ECP_MONTGOMERY_ENABLED)
|
#if defined(MBEDTLS_ECP_MONTGOMERY_ENABLED)
|
||||||
if (mbedtls_ecp_get_type(&key->grp) == MBEDTLS_ECP_TYPE_MONTGOMERY) {
|
if (mbedtls_ecp_get_type(&key->grp) == MBEDTLS_ECP_TYPE_MONTGOMERY) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user