forked from wolfSSL/wolfssl
Fix for ECC memory leak when using ATECC and non SECP256R1 curves for sign, verify or shared secret. Fixes #2701.
This commit is contained in:
@ -5175,14 +5175,13 @@ int wc_ecc_free(ecc_key* key)
|
|||||||
#ifdef WOLFSSL_ATECC508A
|
#ifdef WOLFSSL_ATECC508A
|
||||||
atmel_ecc_free(key->slot);
|
atmel_ecc_free(key->slot);
|
||||||
key->slot = ATECC_INVALID_SLOT;
|
key->slot = ATECC_INVALID_SLOT;
|
||||||
#else
|
#endif /* WOLFSSL_ATECC508A */
|
||||||
|
|
||||||
mp_clear(key->pubkey.x);
|
mp_clear(key->pubkey.x);
|
||||||
mp_clear(key->pubkey.y);
|
mp_clear(key->pubkey.y);
|
||||||
mp_clear(key->pubkey.z);
|
mp_clear(key->pubkey.z);
|
||||||
|
|
||||||
mp_forcezero(&key->k);
|
mp_forcezero(&key->k);
|
||||||
#endif /* WOLFSSL_ATECC508A */
|
|
||||||
|
|
||||||
#ifdef WOLFSSL_CUSTOM_CURVES
|
#ifdef WOLFSSL_CUSTOM_CURVES
|
||||||
if (key->deallocSet && key->dp != NULL)
|
if (key->deallocSet && key->dp != NULL)
|
||||||
|
Reference in New Issue
Block a user