@@ -2347,7 +2347,19 @@ static WC_INLINE int Transform_Sha256_Len(wc_Sha256* sha256, const byte* data,
23472347 #if defined(PSOC6_HASH_SHA2 )
23482348 wc_Psoc6_Sha_Free ();
23492349 #endif
2350+ #if !defined(FREESCALE_LTC_SHA ) && \
2351+ !(defined(WOLFSSL_SE050 ) && defined(WOLFSSL_SE050_HASH )) && \
2352+ !defined(STM32_HASH_SHA2 ) && \
2353+ !defined(WOLFSSL_SILABS_SE_ACCEL ) && \
2354+ !defined(WOLFSSL_IMXRT_DCP ) && \
2355+ !defined(PSOC6_HASH_SHA2 )
2356+ /* PSA compiles out the free function completely */
2357+ ForceZero (sha224 -> buffer , sizeof (sha224 -> buffer ));
2358+ if (sha224 -> hiLen != 0 || sha224 -> loLen != 0 )
2359+ ForceZero (sha224 -> digest , sizeof (sha224 -> digest ));
2360+ #else
23502361 ForceZero (sha224 , sizeof (* sha224 ));
2362+ #endif
23512363 }
23522364#endif /* !defined(WOLFSSL_HAVE_PSA) || defined(WOLFSSL_PSA_NO_HASH) */
23532365#endif /* WOLFSSL_SHA224 */
@@ -2494,7 +2506,19 @@ void wc_Sha256Free(wc_Sha256* sha256)
24942506 wc_Psoc6_Sha_Free ();
24952507#endif
24962508
2509+ #if !defined(FREESCALE_LTC_SHA ) && \
2510+ !(defined(WOLFSSL_SE050 ) && defined(WOLFSSL_SE050_HASH )) && \
2511+ !defined(STM32_HASH_SHA2 ) && \
2512+ !defined(WOLFSSL_SILABS_SE_ACCEL ) && \
2513+ !defined(WOLFSSL_IMXRT_DCP ) && \
2514+ !defined(PSOC6_HASH_SHA2 )
2515+ /* PSA compiles out the free function completely */
2516+ ForceZero (sha256 -> buffer , sizeof (sha256 -> buffer ));
2517+ if (sha256 -> hiLen != 0 || sha256 -> loLen != 0 )
2518+ ForceZero (sha256 -> digest , sizeof (sha256 -> digest ));
2519+ #else
24972520 ForceZero (sha256 , sizeof (* sha256 ));
2521+ #endif
24982522} /* wc_Sha256Free */
24992523
25002524#endif /* !defined(WOLFSSL_HAVE_PSA) || defined(WOLFSSL_PSA_NO_HASH) */
0 commit comments