mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-07-30 18:57:27 +02:00
fix ECC performance regression
This commit is contained in:
@ -8176,6 +8176,7 @@ static int ecc_verify_hash_sp(mp_int *r, mp_int *s, const byte* hash,
|
|||||||
#if defined(WC_ECC_NONBLOCK) && defined(WC_ECC_NONBLOCK_ONLY)
|
#if defined(WC_ECC_NONBLOCK) && defined(WC_ECC_NONBLOCK_ONLY)
|
||||||
/* perform blocking call to non-blocking function */
|
/* perform blocking call to non-blocking function */
|
||||||
ecc_nb_ctx_t nb_ctx;
|
ecc_nb_ctx_t nb_ctx;
|
||||||
|
int err;
|
||||||
XMEMSET(&nb_ctx, 0, sizeof(nb_ctx));
|
XMEMSET(&nb_ctx, 0, sizeof(nb_ctx));
|
||||||
err = NOT_COMPILED_IN; /* set default error */
|
err = NOT_COMPILED_IN; /* set default error */
|
||||||
#endif
|
#endif
|
||||||
@ -8269,7 +8270,7 @@ static int ecc_verify_hash_sp(mp_int *r, mp_int *s, const byte* hash,
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return 0;
|
return NOT_COMPILED_IN;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !defined(WOLFSSL_SP_MATH) || defined(FREESCALE_LTC_ECC)
|
#if !defined(WOLFSSL_SP_MATH) || defined(FREESCALE_LTC_ECC)
|
||||||
@ -8710,7 +8711,7 @@ int wc_ecc_verify_hash_ex(mp_int *r, mp_int *s, const byte* hash,
|
|||||||
}
|
}
|
||||||
|
|
||||||
err = ecc_verify_hash_sp(r, s, hash, hashlen, res, key);
|
err = ecc_verify_hash_sp(r, s, hash, hashlen, res, key);
|
||||||
if (err != 0) {
|
if (err != NOT_COMPILED_IN) {
|
||||||
if (curveLoaded) {
|
if (curveLoaded) {
|
||||||
wc_ecc_curve_free(curve);
|
wc_ecc_curve_free(curve);
|
||||||
FREE_CURVE_SPECS();
|
FREE_CURVE_SPECS();
|
||||||
@ -8720,6 +8721,7 @@ int wc_ecc_verify_hash_ex(mp_int *r, mp_int *s, const byte* hash,
|
|||||||
|
|
||||||
#if !defined(WOLFSSL_SP_MATH) || defined(FREESCALE_LTC_ECC)
|
#if !defined(WOLFSSL_SP_MATH) || defined(FREESCALE_LTC_ECC)
|
||||||
if (!curveLoaded) {
|
if (!curveLoaded) {
|
||||||
|
err = 0; /* potential for NOT_COMPILED_IN error from SP attempt */
|
||||||
ALLOC_CURVE_SPECS(ECC_CURVE_FIELD_COUNT, err);
|
ALLOC_CURVE_SPECS(ECC_CURVE_FIELD_COUNT, err);
|
||||||
if (err != 0) {
|
if (err != 0) {
|
||||||
return err;
|
return err;
|
||||||
|
Reference in New Issue
Block a user