diff --git a/wolfcrypt/src/ecc.c b/wolfcrypt/src/ecc.c index 18e96e5ec..b12e06891 100644 --- a/wolfcrypt/src/ecc.c +++ b/wolfcrypt/src/ecc.c @@ -8186,20 +8186,21 @@ int wc_ecc_get_generator(ecc_point* ecp, int curve_idx) /* perform sanity checks on ecc key validity, 0 on success */ int wc_ecc_check_key(ecc_key* key) { -#ifndef WOLFSSL_SP_MATH int err = MP_OKAY; +#ifndef WOLFSSL_SP_MATH #if !defined(WOLFSSL_ATECC508A) && !defined(WOLFSSL_ATECC608A) && \ - !defined(WOLFSSL_CRYPTOCELL) + !defined(WOLFSSL_CRYPTOCELL) && !defined(WOLFSSL_SILABS_SE_ACCEL) mp_int* b = NULL; -#ifdef USE_ECC_B_PARAM - DECLARE_CURVE_SPECS(curve, 4); -#else -#ifndef WOLFSSL_SMALL_STACK - mp_int b_lcl; -#endif - DECLARE_CURVE_SPECS(curve, 3); -#endif /* USE_ECC_B_PARAM */ -#endif /* WOLFSSL_ATECC508A */ + #ifdef USE_ECC_B_PARAM + DECLARE_CURVE_SPECS(curve, 4); + #else + #ifndef WOLFSSL_SMALL_STACK + mp_int b_lcl; + #endif + DECLARE_CURVE_SPECS(curve, 3); + #endif /* USE_ECC_B_PARAM */ +#endif /* !WOLFSSL_ATECC508A && !WOLFSSL_ATECC608A && + !WOLFSSL_CRYPTOCELL && !WOLFSSL_SILABS_SE_ACCEL */ #endif /* !WOLFSSL_SP_MATH */ if (key == NULL) @@ -8230,8 +8231,9 @@ int wc_ecc_check_key(ecc_key* key) #if defined(WOLFSSL_ATECC508A) || defined(WOLFSSL_ATECC608A) || \ defined(WOLFSSL_CRYPTOCELL) || defined(WOLFSSL_SILABS_SE_ACCEL) - err = 0; /* consider key check success on ATECC508/608A and CryptoCell */ - (void)err; + /* consider key check success on HW crypto + * ex: ATECC508/608A, CryptoCell and Silabs */ + err = MP_OKAY; #else #ifdef USE_ECC_B_PARAM @@ -8340,10 +8342,10 @@ int wc_ecc_check_key(ecc_key* key) FREE_CURVE_SPECS(); #endif /* WOLFSSL_ATECC508A */ - return err; #else - return WC_KEY_SIZE_E; + err = WC_KEY_SIZE_E; #endif /* !WOLFSSL_SP_MATH */ + return err; } #ifdef HAVE_ECC_KEY_IMPORT diff --git a/wolfssl/wolfcrypt/types.h b/wolfssl/wolfcrypt/types.h index 9a18a2704..bd15c9f9f 100644 --- a/wolfssl/wolfcrypt/types.h +++ b/wolfssl/wolfcrypt/types.h @@ -304,7 +304,6 @@ decouple library dependencies with standard string, memory and so on. #endif /* FALL_THROUGH */ #if !defined(FALL_THROUGH) || defined(__XC32) /* use stub for fall through by default or for Microchip compiler */ - #undef FALL_THROUGH #define FALL_THROUGH #endif