diff --git a/wolfcrypt/src/hmac.c b/wolfcrypt/src/hmac.c index 886a838c1..d5a1e1ce6 100755 --- a/wolfcrypt/src/hmac.c +++ b/wolfcrypt/src/hmac.c @@ -442,6 +442,7 @@ int wc_HmacSetKey(Hmac* hmac, int type, const byte* key, word32 length) #if defined(WOLFSSL_ASYNC_CRYPT) && defined(WC_ASYNC_ENABLE_HMAC) if (hmac->asyncDev.marker == WOLFSSL_ASYNC_MARKER_HMAC) { + #if defined(HAVE_INTEL_QA) if (length > hmac_block_size) length = hmac_block_size; /* update key length */ @@ -449,6 +450,7 @@ int wc_HmacSetKey(Hmac* hmac, int type, const byte* key, word32 length) return ret; /* no need to pad below */ + #endif } #endif diff --git a/wolfcrypt/src/tfm.c b/wolfcrypt/src/tfm.c index 5dfd49911..ff1d34a55 100644 --- a/wolfcrypt/src/tfm.c +++ b/wolfcrypt/src/tfm.c @@ -314,7 +314,7 @@ void fp_mul(fp_int *A, fp_int *B, fp_int *C) clean: /* zero any excess digits on the destination that we didn't write to */ - for (y = C->used; y < oldused; y++) { + for (y = C->used; y >= 0 && y < oldused; y++) { C->dp[y] = 0; } } @@ -1479,7 +1479,7 @@ void fp_sqr(fp_int *A, fp_int *B) clean: /* zero any excess digits on the destination that we didn't write to */ - for (y = B->used; y < oldused; y++) { + for (y = B->used; y >= 0 && y < oldused; y++) { B->dp[y] = 0; } } @@ -2467,7 +2467,7 @@ void fp_copy(fp_int *a, fp_int *b) XMEMCPY(b->dp, a->dp, a->used * sizeof(fp_digit)); /* zero any excess digits on the destination that we didn't write to */ - for (x = b->used; x < oldused; x++) { + for (x = b->used; x >= 0 && x < oldused; x++) { b->dp[x] = 0; } }