mirror of
https://github.com/ARMmbed/mbedtls.git
synced 2025-06-28 00:58:05 +08:00
Merge pull request #8017 from ivq/unchecked_return
Fix a few unchecked return values
This commit is contained in:
commit
d29648026b
3
ChangeLog.d/fix-a-few-unchecked-return.txt
Normal file
3
ChangeLog.d/fix-a-few-unchecked-return.txt
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
Bugfix
|
||||||
|
* Fix some cases where mbedtls_mpi_mod_exp, RSA key construction or ECDSA
|
||||||
|
signature can silently return an incorrect result in low memory conditions.
|
@ -2033,7 +2033,7 @@ int mbedtls_mpi_exp_mod(mbedtls_mpi *X, const mbedtls_mpi *A,
|
|||||||
/*
|
/*
|
||||||
* Load the result in the output variable.
|
* Load the result in the output variable.
|
||||||
*/
|
*/
|
||||||
mbedtls_mpi_copy(X, &W[x_index]);
|
MBEDTLS_MPI_CHK(mbedtls_mpi_copy(X, &W[x_index]));
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
|
|
||||||
|
@ -373,7 +373,7 @@ modn:
|
|||||||
|
|
||||||
#if defined(MBEDTLS_ECP_RESTARTABLE)
|
#if defined(MBEDTLS_ECP_RESTARTABLE)
|
||||||
if (rs_ctx != NULL && rs_ctx->sig != NULL) {
|
if (rs_ctx != NULL && rs_ctx->sig != NULL) {
|
||||||
mbedtls_mpi_copy(r, pr);
|
MBEDTLS_MPI_CHK(mbedtls_mpi_copy(r, pr));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -447,7 +447,7 @@ int mbedtls_ecdsa_sign_det_restartable(mbedtls_ecp_group *grp,
|
|||||||
MBEDTLS_MPI_CHK(mbedtls_mpi_write_binary(d, data, grp_len));
|
MBEDTLS_MPI_CHK(mbedtls_mpi_write_binary(d, data, grp_len));
|
||||||
MBEDTLS_MPI_CHK(derive_mpi(grp, &h, buf, blen));
|
MBEDTLS_MPI_CHK(derive_mpi(grp, &h, buf, blen));
|
||||||
MBEDTLS_MPI_CHK(mbedtls_mpi_write_binary(&h, data + grp_len, grp_len));
|
MBEDTLS_MPI_CHK(mbedtls_mpi_write_binary(&h, data + grp_len, grp_len));
|
||||||
mbedtls_hmac_drbg_seed_buf(p_rng, md_info, data, 2 * grp_len);
|
MBEDTLS_MPI_CHK(mbedtls_hmac_drbg_seed_buf(p_rng, md_info, data, 2 * grp_len));
|
||||||
|
|
||||||
#if defined(MBEDTLS_ECP_RESTARTABLE)
|
#if defined(MBEDTLS_ECP_RESTARTABLE)
|
||||||
if (rs_ctx != NULL && rs_ctx->det != NULL) {
|
if (rs_ctx != NULL && rs_ctx->det != NULL) {
|
||||||
|
@ -126,7 +126,7 @@ int mbedtls_rsa_deduce_primes(mbedtls_mpi const *N,
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (; attempt < num_primes; ++attempt) {
|
for (; attempt < num_primes; ++attempt) {
|
||||||
mbedtls_mpi_lset(&K, primes[attempt]);
|
MBEDTLS_MPI_CHK(mbedtls_mpi_lset(&K, primes[attempt]));
|
||||||
|
|
||||||
/* Check if gcd(K,N) = 1 */
|
/* Check if gcd(K,N) = 1 */
|
||||||
MBEDTLS_MPI_CHK(mbedtls_mpi_gcd(P, &K, N));
|
MBEDTLS_MPI_CHK(mbedtls_mpi_gcd(P, &K, N));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user