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:
David Garske
2019-12-30 08:35:30 -08:00
parent 3b7b71c9e0
commit f51d940e34

View File

@ -5175,14 +5175,13 @@ int wc_ecc_free(ecc_key* key)
#ifdef WOLFSSL_ATECC508A
atmel_ecc_free(key->slot);
key->slot = ATECC_INVALID_SLOT;
#else
#endif /* WOLFSSL_ATECC508A */
mp_clear(key->pubkey.x);
mp_clear(key->pubkey.y);
mp_clear(key->pubkey.z);
mp_forcezero(&key->k);
#endif /* WOLFSSL_ATECC508A */
#ifdef WOLFSSL_CUSTOM_CURVES
if (key->deallocSet && key->dp != NULL)