@@ -4251,21 +4251,27 @@ static void bench_aesgcm_internal(int useDeviceID,
42514251
42524252 WC_ALLOC_VAR (bench_additional , byte , AES_AUTH_ADD_SZ , HEAP_HINT );
42534253 WC_ALLOC_VAR (bench_tag , byte , AES_AUTH_TAG_SZ , HEAP_HINT );
4254+
42544255 WC_CALLOC_ARRAY (enc , Aes , BENCH_MAX_PENDING ,
42554256 sizeof (Aes ), HEAP_HINT );
42564257#ifdef HAVE_AES_DECRYPT
42574258 WC_CALLOC_ARRAY (dec , Aes , BENCH_MAX_PENDING ,
42584259 sizeof (Aes ), HEAP_HINT );
42594260#endif
42604261
4261- #ifdef WOLFSSL_ASYNC_CRYPT
4262- if (bench_additional )
4263- #endif
4264- XMEMSET (bench_additional , 0 , AES_AUTH_ADD_SZ );
4265- #ifdef WOLFSSL_ASYNC_CRYPT
4266- if (bench_tag )
4262+ #ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
4263+ if (bench_additional == NULL || bench_tag == NULL || enc == NULL
4264+ #ifdef HAVE_AES_DECRYPT
4265+ || dec == NULL
4266+ #endif
4267+ ) {
4268+ ret = MEMORY_E ;
4269+ goto exit ;
4270+ }
42674271#endif
4268- XMEMSET (bench_tag , 0 , AES_AUTH_TAG_SZ );
4272+
4273+ XMEMSET (bench_additional , 0 , AES_AUTH_ADD_SZ );
4274+ XMEMSET (bench_tag , 0 , AES_AUTH_TAG_SZ );
42694275
42704276 /* init keys */
42714277 for (i = 0 ; i < BENCH_MAX_PENDING ; i ++ ) {
@@ -4427,14 +4433,19 @@ static void bench_aesgcm_stream_internal(int useDeviceID,
44274433 sizeof (Aes ), HEAP_HINT );
44284434#endif
44294435
4430- #ifdef WOLFSSL_ASYNC_CRYPT
4431- if (bench_additional )
4432- #endif
4433- XMEMSET (bench_additional , 0 , AES_AUTH_ADD_SZ );
4434- #ifdef WOLFSSL_ASYNC_CRYPT
4435- if (bench_tag )
4436+ #ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
4437+ if (bench_additional == NULL || bench_tag == NULL || enc == NULL
4438+ #ifdef HAVE_AES_DECRYPT
4439+ || dec == NULL
4440+ #endif
4441+ ) {
4442+ ret = MEMORY_E ;
4443+ goto exit ;
4444+ }
44364445#endif
4437- XMEMSET (bench_tag , 0 , AES_AUTH_TAG_SZ );
4446+
4447+ XMEMSET (bench_additional , 0 , AES_AUTH_ADD_SZ );
4448+ XMEMSET (bench_tag , 0 , AES_AUTH_TAG_SZ );
44384449
44394450 /* init keys */
44404451 for (i = 0 ; i < BENCH_MAX_PENDING ; i ++ ) {
@@ -4992,6 +5003,13 @@ void bench_aesxts(void)
49925003
49935004 WC_ALLOC_VAR (aes , XtsAes , 1 , HEAP_HINT );
49945005
5006+ #ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
5007+ if (aes == NULL ){
5008+ ret = MEMORY_E ;
5009+ goto exit ;
5010+ }
5011+ #endif
5012+
49955013 ret = wc_AesXtsSetKey (aes , k1 , sizeof (k1 ), AES_ENCRYPTION ,
49965014 HEAP_HINT , devId );
49975015 if (ret != 0 ) {
@@ -5137,6 +5155,13 @@ void bench_aesccm(int useDeviceID)
51375155 WC_ALLOC_VAR (bench_additional , byte , AES_AUTH_ADD_SZ , HEAP_HINT );
51385156 WC_ALLOC_VAR (bench_tag , byte , AES_AUTH_TAG_SZ , HEAP_HINT );
51395157
5158+ #ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
5159+ if (bench_additional == NULL || bench_tag == NULL ) {
5160+ ret = MEMORY_E ;
5161+ goto exit ;
5162+ }
5163+ #endif
5164+
51405165 XMEMSET (bench_tag , 0 , AES_AUTH_TAG_SZ );
51415166 XMEMSET (bench_additional , 0 , AES_AUTH_ADD_SZ );
51425167
@@ -5476,6 +5501,9 @@ void bench_sm4_gcm(void)
54765501
54775502 WC_DECLARE_VAR (bench_additional , byte , AES_AUTH_ADD_SZ , HEAP_HINT );
54785503 WC_DECLARE_VAR (bench_tag , byte , AES_AUTH_TAG_SZ , HEAP_HINT );
5504+
5505+ WC_ALLOC_VAR (bench_additional , byte , AES_AUTH_ADD_SZ , HEAP_HINT );
5506+ WC_ALLOC_VAR (bench_tag , byte , AES_AUTH_TAG_SZ , HEAP_HINT );
54795507#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
54805508 if (bench_additional == NULL || bench_tag == NULL ) {
54815509 printf ("bench_aesgcm_internal malloc failed\n" );
@@ -8457,34 +8485,35 @@ static void bench_rsa_helper(int useDeviceID,
84578485 WC_DECLARE_HEAP_ARRAY (enc , byte , BENCH_MAX_PENDING ,
84588486 rsaKeySz , HEAP_HINT );
84598487
8460- #if ( !defined(WOLFSSL_RSA_VERIFY_INLINE ) \
8461- && !defined(WOLFSSL_RSA_PUBLIC_ONLY ) )
8462- WC_DECLARE_HEAP_ARRAY (out , byte , BENCH_MAX_PENDING ,
8463- rsaKeySz , HEAP_HINT );
8464- #else
8465- byte * out [BENCH_MAX_PENDING ];
8466- #endif
8488+ #if (!defined(WOLFSSL_RSA_VERIFY_INLINE ) && \
8489+ !defined(WOLFSSL_RSA_PUBLIC_ONLY ))
8490+ WC_DECLARE_HEAP_ARRAY (out , byte , BENCH_MAX_PENDING ,
8491+ rsaKeySz , HEAP_HINT );
8492+ #else
8493+ byte * out [BENCH_MAX_PENDING ];
8494+ #endif
84678495
84688496 XMEMSET (out , 0 , sizeof (out ));
84698497
84708498 WC_ALLOC_HEAP_ARRAY (enc , byte , BENCH_MAX_PENDING ,
84718499 rsaKeySz , HEAP_HINT );
84728500
8473- #if ( !defined(WOLFSSL_RSA_VERIFY_INLINE ) \
8474- && !defined(WOLFSSL_RSA_PUBLIC_ONLY ) )
8475- WC_ALLOC_HEAP_ARRAY (out , byte , BENCH_MAX_PENDING ,
8476- rsaKeySz , HEAP_HINT );
8477- if (out [0 ] == NULL ) {
8478- ret = MEMORY_E ;
8479- goto exit ;
8480- }
8481- #endif
8501+ #if (!defined(WOLFSSL_RSA_VERIFY_INLINE ) && \
8502+ !defined(WOLFSSL_RSA_PUBLIC_ONLY ))
8503+ WC_ALLOC_HEAP_ARRAY (out , byte , BENCH_MAX_PENDING ,
8504+ rsaKeySz , HEAP_HINT );
8505+ if (out [0 ] == NULL ) {
8506+ ret = MEMORY_E ;
8507+ goto exit ;
8508+ }
8509+ #endif
84828510 if (enc [0 ] == NULL ) {
84838511 ret = MEMORY_E ;
84848512 goto exit ;
84858513 }
84868514
84878515#ifndef WOLFSSL_RSA_VERIFY_ONLY
8516+ WC_ALLOC_VAR (message , byte , TEST_STRING_SZ , HEAP_HINT );
84888517 #ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
84898518 if (message == NULL ) {
84908519 ret = MEMORY_E ;
@@ -8955,7 +8984,12 @@ void bench_dh(int useDeviceID)
89558984
89568985 WC_ALLOC_VAR (pub2 , byte , BENCH_DH_KEY_SIZE , HEAP_HINT );
89578986 WC_ALLOC_VAR (priv2 , byte , BENCH_DH_PRIV_SIZE , HEAP_HINT );
8958-
8987+ #ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
8988+ if (pub2 == NULL || priv2 == NULL ) {
8989+ ret = MEMORY_E ;
8990+ goto exit ;
8991+ }
8992+ #endif
89598993
89608994 (void )tmp ;
89618995
@@ -11491,6 +11525,13 @@ void bench_ed448KeySign(void)
1149111525
1149211526 WC_ALLOC_VAR (genKey , ed448_key , 1 , HEAP_HINT );
1149311527
11528+ #ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
11529+ if (genKey == NULL ) {
11530+ ret = MEMORY_E ;
11531+ goto exit ;
11532+ }
11533+ #endif
11534+
1149411535 wc_ed448_init (genKey );
1149511536
1149611537 ret = wc_ed448_make_key (& gRng , ED448_KEY_SIZE , genKey );
@@ -11577,6 +11618,13 @@ void bench_eccsiKeyGen(void)
1157711618
1157811619 WC_ALLOC_VAR (genKey , EccsiKey , 1 , HEAP_HINT );
1157911620
11621+ #ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
11622+ if (genKey == NULL ) {
11623+ ret = MEMORY_E ;
11624+ goto exit ;
11625+ }
11626+ #endif
11627+
1158011628 /* Key Gen */
1158111629 bench_stats_start (& count , & start );
1158211630 do {
@@ -11622,6 +11670,13 @@ void bench_eccsiPairGen(void)
1162211670 WC_ALLOC_VAR (genKey , EccsiKey , 1 , HEAP_HINT );
1162311671 WC_ALLOC_VAR (ssk , mp_int , 1 , HEAP_HINT );
1162411672
11673+ #ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
11674+ if (genKey == NULL || ssk == NULL ) {
11675+ ret = MEMORY_E ;
11676+ goto exit ;
11677+ }
11678+ #endif
11679+
1162511680 (void )mp_init (ssk );
1162611681 pvt = wc_ecc_new_point ();
1162711682 wc_InitEccsiKey (genKey , NULL , INVALID_DEVID );
@@ -11679,6 +11734,13 @@ void bench_eccsiValidate(void)
1167911734 WC_ALLOC_VAR (genKey , EccsiKey , 1 , HEAP_HINT );
1168011735 WC_ALLOC_VAR (ssk , mp_int , 1 , HEAP_HINT );
1168111736
11737+ #ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
11738+ if (genKey == NULL || ssk == NULL ) {
11739+ ret = MEMORY_E ;
11740+ goto exit ;
11741+ }
11742+ #endif
11743+
1168211744 (void )mp_init (ssk );
1168311745 pvt = wc_ecc_new_point ();
1168411746 wc_InitEccsiKey (genKey , NULL , INVALID_DEVID );
@@ -11742,6 +11804,13 @@ void bench_eccsi(void)
1174211804 WC_ALLOC_VAR (genKey , EccsiKey , 1 , HEAP_HINT );
1174311805 WC_ALLOC_VAR (ssk , mp_int , 1 , HEAP_HINT );
1174411806
11807+ #ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
11808+ if (genKey == NULL || ssk == NULL ) {
11809+ ret = MEMORY_E ;
11810+ goto exit ;
11811+ }
11812+ #endif
11813+
1174511814 (void )mp_init (ssk );
1174611815 pvt = wc_ecc_new_point ();
1174711816 (void )wc_InitEccsiKey (genKey , NULL , INVALID_DEVID );
@@ -11829,6 +11898,13 @@ void bench_sakkeKeyGen(void)
1182911898
1183011899 WC_ALLOC_VAR (genKey , SakkeKey , 1 , HEAP_HINT );
1183111900
11901+ #ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
11902+ if (genKey == NULL ) {
11903+ ret = MEMORY_E ;
11904+ goto exit ;
11905+ }
11906+ #endif
11907+
1183211908 /* Key Gen */
1183311909 bench_stats_start (& count , & start );
1183411910 do {
@@ -11872,6 +11948,13 @@ void bench_sakkeRskGen(void)
1187211948
1187311949 WC_ALLOC_VAR (genKey , SakkeKey , 1 , HEAP_HINT );
1187411950
11951+ #ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
11952+ if (genKey == NULL ) {
11953+ ret = MEMORY_E ;
11954+ goto exit ;
11955+ }
11956+ #endif
11957+
1187511958 rsk = wc_ecc_new_point ();
1187611959 wc_InitSakkeKey_ex (genKey , 128 , ECC_SAKKE_1 , NULL , INVALID_DEVID );
1187711960 (void )wc_MakeSakkeKey (genKey , & gRng );
@@ -11923,6 +12006,13 @@ void bench_sakkeValidate(void)
1192312006
1192412007 WC_ALLOC_VAR (genKey , SakkeKey , 1 , HEAP_HINT );
1192512008
12009+ #ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
12010+ if (genKey == NULL ) {
12011+ ret = MEMORY_E ;
12012+ goto exit ;
12013+ }
12014+ #endif
12015+
1192612016 rsk = wc_ecc_new_point ();
1192712017 (void )wc_InitSakkeKey_ex (genKey , 128 , ECC_SAKKE_1 , NULL , INVALID_DEVID );
1192812018 (void )wc_MakeSakkeKey (genKey , & gRng );
@@ -11983,6 +12073,13 @@ void bench_sakke(void)
1198312073
1198412074 WC_ALLOC_VAR (genKey , SakkeKey , 1 , HEAP_HINT );
1198512075
12076+ #ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
12077+ if (genKey == NULL ) {
12078+ ret = MEMORY_E ;
12079+ goto exit ;
12080+ }
12081+ #endif
12082+
1198612083 XMEMCPY (ssv , ssv_init , sizeof ssv );
1198712084
1198812085 rsk = wc_ecc_new_point ();
0 commit comments