wolfcrypt/src/rsa.c: fix improperly handled SAVE_VECTOR_REGISTERS() retval in

wc_CheckProbablePrime_ex(), and in wc_MakeRsaKey(), make sure not to
  RESTORE_VECTOR_REGISTERS() if SAVE_VECTOR_REGISTERS() failed.
This commit is contained in:
Daniel Pouzzner
2025-08-11 16:13:34 -05:00
parent 7b077737a9
commit 11d84bea86
2 changed files with 5 additions and 6 deletions
-1
View File
@@ -561,7 +561,6 @@ USE_STSAFE_VERBOSE
USE_TLSV13
USE_WOLF_STRNSTR
USS_API
WC_16BIT_CPU
WC_AESXTS_STREAM_NO_REQUEST_ACCOUNTING
WC_AES_BS_WORD_SIZE
WC_AES_GCM_DEC_AUTH_EARLY
+5 -5
View File
@@ -4763,12 +4763,11 @@ int wc_CheckProbablePrime_ex(const byte* pRaw, word32 pRawSz,
if (ret == MP_OKAY)
ret = mp_read_unsigned_bin(e, eRaw, eRawSz);
if (ret == MP_OKAY) {
if (ret == MP_OKAY)
SAVE_VECTOR_REGISTERS(ret = _svr_ret;);
if (ret == MP_OKAY)
ret = _CheckProbablePrime(p, Q, e, nlen, isPrime, rng);
if (ret == 0) {
ret = _CheckProbablePrime(p, Q, e, nlen, isPrime, rng);
RESTORE_VECTOR_REGISTERS();
}
@@ -5173,7 +5172,8 @@ int wc_MakeRsaKey(RsaKey* key, int size, long e, WC_RNG* rng)
}
#endif
RESTORE_VECTOR_REGISTERS();
if (err != WC_NO_ERR_TRACE(WC_ACCEL_INHIBIT_E))
RESTORE_VECTOR_REGISTERS();
/* Last value p - 1. */
mp_forcezero(tmp1);