mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-07-29 11:41:15 +03:00
Merge pull request #7933 from tom-cosgrove-arm/add-mbedtls_zeroize_and_free
Provide and use internal function mbedtls_zeroize_and_free()
This commit is contained in:
@ -55,10 +55,7 @@
|
||||
MBEDTLS_INTERNAL_VALIDATE(cond)
|
||||
|
||||
/* Implementation that should never be optimized out by the compiler */
|
||||
static void mbedtls_mpi_zeroize(mbedtls_mpi_uint *v, size_t n)
|
||||
{
|
||||
mbedtls_platform_zeroize(v, ciL * n);
|
||||
}
|
||||
#define mbedtls_mpi_zeroize_and_free(v, n) mbedtls_zeroize_and_free(v, ciL * (n))
|
||||
|
||||
/*
|
||||
* Initialize one MPI
|
||||
@ -82,8 +79,7 @@ void mbedtls_mpi_free(mbedtls_mpi *X)
|
||||
}
|
||||
|
||||
if (X->p != NULL) {
|
||||
mbedtls_mpi_zeroize(X->p, X->n);
|
||||
mbedtls_free(X->p);
|
||||
mbedtls_mpi_zeroize_and_free(X->p, X->n);
|
||||
}
|
||||
|
||||
X->s = 1;
|
||||
@ -110,8 +106,7 @@ int mbedtls_mpi_grow(mbedtls_mpi *X, size_t nblimbs)
|
||||
|
||||
if (X->p != NULL) {
|
||||
memcpy(p, X->p, X->n * ciL);
|
||||
mbedtls_mpi_zeroize(X->p, X->n);
|
||||
mbedtls_free(X->p);
|
||||
mbedtls_mpi_zeroize_and_free(X->p, X->n);
|
||||
}
|
||||
|
||||
/* nblimbs fits in n because we ensure that MBEDTLS_MPI_MAX_LIMBS
|
||||
@ -160,8 +155,7 @@ int mbedtls_mpi_shrink(mbedtls_mpi *X, size_t nblimbs)
|
||||
|
||||
if (X->p != NULL) {
|
||||
memcpy(p, X->p, i * ciL);
|
||||
mbedtls_mpi_zeroize(X->p, X->n);
|
||||
mbedtls_free(X->p);
|
||||
mbedtls_mpi_zeroize_and_free(X->p, X->n);
|
||||
}
|
||||
|
||||
/* i fits in n because we ensure that MBEDTLS_MPI_MAX_LIMBS
|
||||
|
Reference in New Issue
Block a user