mirror of https://github.com/wolfSSL/wolfssl.git
Free memory for a msg buffer when calling wc_ShaxxxFree()
parent
778a2065ab
commit
a6b2d1621b
|
@ -79,12 +79,24 @@ static int TSIPHashUpdate(wolfssl_TSIP_Hash* hash, const byte* data, word32 sz)
|
|||
hash->msg = (byte*)XMALLOC(hash->used + sz, hash->heap,
|
||||
DYNAMIC_TYPE_TMP_BUFFER);
|
||||
} else {
|
||||
#ifdef FREERTOS
|
||||
byte* pt = (byte*)XMALLOC(hash->used + sz, hash->heap,
|
||||
DYNAMIC_TYPE_TMP_BUFFER);
|
||||
if (pt == NULL) {
|
||||
return MEMORY_E;
|
||||
}
|
||||
XMEMCPY(pt, hash->msg, hash->used);
|
||||
XFREE(hash->msg, hash->heap, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
hash->msg = NULL;
|
||||
hash->msg = pt;
|
||||
#else
|
||||
byte* pt = (byte*)XREALLOC(hash->msg, hash->used + sz, hash->heap,
|
||||
DYNAMIC_TYPE_TMP_BUFFER);
|
||||
if (pt == NULL) {
|
||||
return MEMORY_E;
|
||||
}
|
||||
hash->msg = pt;
|
||||
#endif
|
||||
}
|
||||
if (hash->msg == NULL) {
|
||||
return MEMORY_E;
|
||||
|
|
|
@ -667,6 +667,13 @@ void wc_ShaFree(wc_Sha* sha)
|
|||
#ifdef WOLFSSL_PIC32MZ_HASH
|
||||
wc_ShaPic32Free(sha);
|
||||
#endif
|
||||
#if (defined(WOLFSSL_RENESAS_TSIP_CRYPT) && \
|
||||
!defined(NO_WOLFSSL_RENESAS_TSIP_CRYPT_HASH))
|
||||
if (sha->msg != NULL) {
|
||||
XFREE(sha->msg, sha->heap, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
sha->msg = NULL;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif /* !WOLFSSL_TI_HASH */
|
||||
|
@ -729,7 +736,6 @@ int wc_ShaCopy(wc_Sha* src, wc_Sha* dst)
|
|||
#if defined(WOLFSSL_HASH_FLAGS) || defined(WOLF_CRYPTO_CB)
|
||||
dst->flags |= WC_HASH_FLAG_ISCOPY;
|
||||
#endif
|
||||
|
||||
return ret;
|
||||
}
|
||||
#endif /* defined(WOLFSSL_RENESAS_TSIP_CRYPT) ... */
|
||||
|
|
|
@ -1362,7 +1362,9 @@ void wc_Sha256Free(wc_Sha256* sha256)
|
|||
wc_DevCryptoFree(&sha256->ctx);
|
||||
#endif /* WOLFSSL_DEVCRYPTO */
|
||||
#if (defined(WOLFSSL_AFALG_HASH) && defined(WOLFSSL_AFALG_HASH_KEEP)) || \
|
||||
(defined(WOLFSSL_DEVCRYPTO_HASH) && defined(WOLFSSL_DEVCRYPTO_HASH_KEEP))
|
||||
(defined(WOLFSSL_DEVCRYPTO_HASH) && defined(WOLFSSL_DEVCRYPTO_HASH_KEEP)) || \
|
||||
(defined(WOLFSSL_RENESAS_TSIP_CRYPT) && \
|
||||
!defined(NO_WOLFSSL_RENESAS_TSIP_CRYPT_HASH))
|
||||
if (sha256->msg != NULL) {
|
||||
XFREE(sha256->msg, sha256->heap, DYNAMIC_TYPE_TMP_BUFFER);
|
||||
sha256->msg = NULL;
|
||||
|
|
Loading…
Reference in New Issue