Skip to content

Commit 06469a4

Browse files
committed
wolfcrypt/benchmark/benchmark.c:
* remove redundant nullness checks covered by WC_ALLOC_VAR() via WC_ALLOC_DO_ON_FAILURE(); * add "exit:" logic to bench_sm4_gcm(); * add missing WC_ALLOC_VAR() in bench_sm4_ccm(); * fix early return in bench_ed448KeySign().
1 parent 4055b0d commit 06469a4

1 file changed

Lines changed: 11 additions & 150 deletions

File tree

wolfcrypt/benchmark/benchmark.c

Lines changed: 11 additions & 150 deletions
Original file line numberDiff line numberDiff line change
@@ -4251,13 +4251,6 @@ 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-
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
4255-
if (bench_additional == NULL || bench_tag == NULL) {
4256-
ret = MEMORY_E;
4257-
goto exit;
4258-
}
4259-
#endif
4260-
42614254
WC_CALLOC_ARRAY(enc, Aes, BENCH_MAX_PENDING,
42624255
sizeof(Aes), HEAP_HINT);
42634256
#ifdef HAVE_AES_DECRYPT
@@ -4420,12 +4413,6 @@ static void bench_aesgcm_stream_internal(int useDeviceID,
44204413

44214414
WC_ALLOC_VAR(bench_additional, byte, AES_AUTH_ADD_SZ, HEAP_HINT);
44224415
WC_ALLOC_VAR(bench_tag, byte, AES_AUTH_TAG_SZ, HEAP_HINT);
4423-
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
4424-
if (bench_additional == NULL || bench_tag == NULL) {
4425-
ret = MEMORY_E;
4426-
goto exit;
4427-
}
4428-
#endif
44294416

44304417
WC_CALLOC_ARRAY(enc, Aes, BENCH_MAX_PENDING,
44314418
sizeof(Aes), HEAP_HINT);
@@ -4992,12 +4979,6 @@ void bench_aesxts(void)
49924979
};
49934980

49944981
WC_ALLOC_VAR(aes, XtsAes, 1, HEAP_HINT);
4995-
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
4996-
if (aes == NULL){
4997-
ret = MEMORY_E;
4998-
goto exit;
4999-
}
5000-
#endif
50014982

50024983
ret = wc_AesXtsSetKey(aes, k1, sizeof(k1), AES_ENCRYPTION,
50034984
HEAP_HINT, devId);
@@ -5143,12 +5124,6 @@ void bench_aesccm(int useDeviceID)
51435124

51445125
WC_ALLOC_VAR(bench_additional, byte, AES_AUTH_ADD_SZ, HEAP_HINT);
51455126
WC_ALLOC_VAR(bench_tag, byte, AES_AUTH_TAG_SZ, HEAP_HINT);
5146-
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
5147-
if (bench_additional == NULL || bench_tag == NULL) {
5148-
ret = MEMORY_E;
5149-
goto exit;
5150-
}
5151-
#endif
51525127

51535128
XMEMSET(bench_tag, 0, AES_AUTH_TAG_SZ);
51545129
XMEMSET(bench_additional, 0, AES_AUTH_ADD_SZ);
@@ -5492,17 +5467,11 @@ void bench_sm4_gcm(void)
54925467

54935468
WC_ALLOC_VAR(bench_additional, byte, AES_AUTH_ADD_SZ, HEAP_HINT);
54945469
WC_ALLOC_VAR(bench_tag, byte, AES_AUTH_TAG_SZ, HEAP_HINT);
5495-
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
5496-
if (bench_additional == NULL || bench_tag == NULL) {
5497-
printf("bench_aesgcm_internal malloc failed\n");
5498-
return;
5499-
}
5500-
#endif
55015470

55025471
ret = wc_Sm4GcmSetKey(&sm4, bench_key, SM4_KEY_SIZE);
55035472
if (ret != 0) {
55045473
printf("Sm4GcmSetKey failed, ret = %d\n", ret);
5505-
return;
5474+
goto exit;
55065475
}
55075476

55085477
bench_stats_start(&count, &start);
@@ -5513,7 +5482,7 @@ void bench_sm4_gcm(void)
55135482
bench_additional, aesAuthAddSz);
55145483
if (ret < 0) {
55155484
printf("Sm4GcmEncrypt failed: %d\n", ret);
5516-
return;
5485+
goto exit;
55175486
}
55185487
RECORD_MULTI_VALUE_STATS();
55195488
}
@@ -5539,7 +5508,7 @@ void bench_sm4_gcm(void)
55395508
bench_additional, aesAuthAddSz);
55405509
if (ret < 0) {
55415510
printf("Sm4GcmDecrypt failed: %d\n", ret);
5542-
return;
5511+
goto exit;
55435512
}
55445513
RECORD_MULTI_VALUE_STATS();
55455514
}
@@ -5554,6 +5523,11 @@ void bench_sm4_gcm(void)
55545523
#ifdef MULTI_VALUE_STATISTICS
55555524
bench_multi_value_stats(max, min, sum, squareSum, runs);
55565525
#endif
5526+
5527+
exit:
5528+
5529+
WC_FREE_VAR(bench_additional);
5530+
WC_FREE_VAR(bench_tag);
55575531
}
55585532
#endif
55595533

@@ -5568,12 +5542,8 @@ void bench_sm4_ccm()
55685542
WC_DECLARE_VAR(bench_additional, byte, AES_AUTH_ADD_SZ, HEAP_HINT);
55695543
WC_DECLARE_VAR(bench_tag, byte, AES_AUTH_TAG_SZ, HEAP_HINT);
55705544

5571-
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
5572-
if (bench_additional == NULL || bench_tag == NULL) {
5573-
printf("bench_aesccm malloc failed\n");
5574-
goto exit;
5575-
}
5576-
#endif
5545+
WC_ALLOC_VAR(bench_additional, byte, AES_AUTH_ADD_SZ, HEAP_HINT);
5546+
WC_ALLOC_VAR(bench_tag, byte, AES_AUTH_TAG_SZ, HEAP_HINT);
55775547

55785548
XMEMSET(bench_tag, 0, AES_AUTH_TAG_SZ);
55795549
XMEMSET(bench_additional, 0, AES_AUTH_ADD_SZ);
@@ -8502,12 +8472,6 @@ static void bench_rsa_helper(int useDeviceID,
85028472

85038473
#ifndef WOLFSSL_RSA_VERIFY_ONLY
85048474
WC_ALLOC_VAR(message, byte, TEST_STRING_SZ, HEAP_HINT);
8505-
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
8506-
if (message == NULL) {
8507-
ret = MEMORY_E;
8508-
goto exit;
8509-
}
8510-
#endif
85118475
XMEMCPY(message, messageStr, len);
85128476
#endif
85138477

@@ -8731,12 +8695,6 @@ void bench_rsa(int useDeviceID)
87318695

87328696
WC_CALLOC_ARRAY(rsaKey, RsaKey, BENCH_MAX_PENDING,
87338697
sizeof(RsaKey), HEAP_HINT);
8734-
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
8735-
if (rsaKey[0] == NULL) {
8736-
printf("bench_rsa malloc failed\n");
8737-
return;
8738-
}
8739-
#endif
87408698

87418699
#ifdef USE_CERT_BUFFERS_1024
87428700
tmp = rsa_key_der_1024;
@@ -8839,12 +8797,6 @@ void bench_rsa_key(int useDeviceID, word32 rsaKeySz)
88398797

88408798
WC_CALLOC_ARRAY(rsaKey, RsaKey, BENCH_MAX_PENDING,
88418799
sizeof(RsaKey), HEAP_HINT);
8842-
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
8843-
if (rsaKey[0] == NULL) {
8844-
printf("bench_rsa_key malloc failed\n");
8845-
return;
8846-
}
8847-
#endif
88488800

88498801
/* init keys */
88508802
do {
@@ -8972,12 +8924,6 @@ void bench_dh(int useDeviceID)
89728924

89738925
WC_ALLOC_VAR(pub2, byte, BENCH_DH_KEY_SIZE, HEAP_HINT);
89748926
WC_ALLOC_VAR(priv2, byte, BENCH_DH_PRIV_SIZE, HEAP_HINT);
8975-
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
8976-
if (pub2 == NULL || priv2 == NULL) {
8977-
ret = MEMORY_E;
8978-
goto exit;
8979-
}
8980-
#endif
89818927

89828928
(void)tmp;
89838929

@@ -10271,14 +10217,6 @@ void bench_eccMakeKey(int useDeviceID, int curveId)
1027110217

1027210218
WC_CALLOC_ARRAY(genKey, ecc_key, BENCH_MAX_PENDING,
1027310219
sizeof(ecc_key), HEAP_HINT);
10274-
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
10275-
if (genKey[0] == NULL) {
10276-
printf("bench_eccMakeKey malloc failed\n");
10277-
return;
10278-
}
10279-
for (i = 0; i < BENCH_MAX_PENDING; ++i)
10280-
XMEMSET(genKey[i], 0, sizeof(ecc_key));
10281-
#endif
1028210220

1028310221
deviceID = useDeviceID ? devId : INVALID_DEVID;
1028410222
keySize = wc_ecc_get_curve_size_from_id(curveId);
@@ -10381,23 +10319,10 @@ void bench_ecc(int useDeviceID, int curveId)
1038110319

1038210320
WC_CALLOC_ARRAY(genKey, ecc_key, BENCH_MAX_PENDING,
1038310321
sizeof(ecc_key), HEAP_HINT);
10384-
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
10385-
if (genKey[0] == NULL) {
10386-
printf("bench_eccMakeKey malloc failed\n");
10387-
return;
10388-
}
10389-
#endif
1039010322

1039110323
#ifdef HAVE_ECC_DHE
1039210324
WC_CALLOC_ARRAY(genKey2, ecc_key, BENCH_MAX_PENDING,
1039310325
sizeof(ecc_key), HEAP_HINT);
10394-
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
10395-
if (genKey2[0] == NULL) {
10396-
XFREE(genKey, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
10397-
printf("bench_eccMakeKey malloc failed\n");
10398-
return;
10399-
}
10400-
#endif
1040110326
WC_ALLOC_ARRAY(shared, byte,
1040210327
BENCH_MAX_PENDING, MAX_ECC_BYTES, HEAP_HINT);
1040310328
#endif
@@ -10818,15 +10743,6 @@ static void bench_sm2_MakeKey(int useDeviceID)
1081810743
WC_CALLOC_ARRAY(genKey, ecc_key, BENCH_MAX_PENDING,
1081910744
sizeof(ecc_key), HEAP_HINT);
1082010745

10821-
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
10822-
if (genKey[0] == NULL) {
10823-
printf("bench_sm2_MakeKey malloc failed\n");
10824-
return;
10825-
}
10826-
for (i = 0; i < BENCH_MAX_PENDING; ++i)
10827-
XMEMSET(genKey[i], 0, sizeof(ecc_key));
10828-
#endif
10829-
1083010746
/* ECC Make Key */
1083110747
bench_stats_start(&count, &start);
1083210748
do {
@@ -11496,7 +11412,6 @@ void bench_ed448KeyGen(void)
1149611412
#endif
1149711413
}
1149811414

11499-
1150011415
void bench_ed448KeySign(void)
1150111416
{
1150211417
int ret;
@@ -11512,19 +11427,13 @@ void bench_ed448KeySign(void)
1151211427
#endif
1151311428

1151411429
WC_ALLOC_VAR(genKey, ed448_key, 1, HEAP_HINT);
11515-
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
11516-
if (genKey == NULL) {
11517-
ret = MEMORY_E;
11518-
goto exit;
11519-
}
11520-
#endif
1152111430

1152211431
wc_ed448_init(genKey);
1152311432

1152411433
ret = wc_ed448_make_key(&gRng, ED448_KEY_SIZE, genKey);
1152511434
if (ret != 0) {
1152611435
printf("ed448_make_key failed\n");
11527-
return;
11436+
goto exit;
1152811437
}
1152911438

1153011439
#ifdef HAVE_ED448_SIGN
@@ -11604,12 +11513,6 @@ void bench_eccsiKeyGen(void)
1160411513
DECLARE_MULTI_VALUE_STATS_VARS()
1160511514

1160611515
WC_ALLOC_VAR(genKey, EccsiKey, 1, HEAP_HINT);
11607-
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
11608-
if (genKey == NULL) {
11609-
ret = MEMORY_E;
11610-
goto exit;
11611-
}
11612-
#endif
1161311516

1161411517
/* Key Gen */
1161511518
bench_stats_start(&count, &start);
@@ -11655,12 +11558,6 @@ void bench_eccsiPairGen(void)
1165511558

1165611559
WC_ALLOC_VAR(genKey, EccsiKey, 1, HEAP_HINT);
1165711560
WC_ALLOC_VAR(ssk, mp_int, 1, HEAP_HINT);
11658-
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
11659-
if (genKey == NULL || ssk == NULL) {
11660-
ret = MEMORY_E;
11661-
goto exit;
11662-
}
11663-
#endif
1166411561

1166511562
(void)mp_init(ssk);
1166611563
pvt = wc_ecc_new_point();
@@ -11718,12 +11615,6 @@ void bench_eccsiValidate(void)
1171811615

1171911616
WC_ALLOC_VAR(genKey, EccsiKey, 1, HEAP_HINT);
1172011617
WC_ALLOC_VAR(ssk, mp_int, 1, HEAP_HINT);
11721-
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
11722-
if (genKey == NULL || ssk == NULL) {
11723-
ret = MEMORY_E;
11724-
goto exit;
11725-
}
11726-
#endif
1172711618

1172811619
(void)mp_init(ssk);
1172911620
pvt = wc_ecc_new_point();
@@ -11787,12 +11678,6 @@ void bench_eccsi(void)
1178711678

1178811679
WC_ALLOC_VAR(genKey, EccsiKey, 1, HEAP_HINT);
1178911680
WC_ALLOC_VAR(ssk, mp_int, 1, HEAP_HINT);
11790-
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
11791-
if (genKey == NULL || ssk == NULL) {
11792-
ret = MEMORY_E;
11793-
goto exit;
11794-
}
11795-
#endif
1179611681

1179711682
(void)mp_init(ssk);
1179811683
pvt = wc_ecc_new_point();
@@ -11880,12 +11765,6 @@ void bench_sakkeKeyGen(void)
1188011765
DECLARE_MULTI_VALUE_STATS_VARS()
1188111766

1188211767
WC_ALLOC_VAR(genKey, SakkeKey, 1, HEAP_HINT);
11883-
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
11884-
if (genKey == NULL) {
11885-
ret = MEMORY_E;
11886-
goto exit;
11887-
}
11888-
#endif
1188911768

1189011769
/* Key Gen */
1189111770
bench_stats_start(&count, &start);
@@ -11929,12 +11808,6 @@ void bench_sakkeRskGen(void)
1192911808
DECLARE_MULTI_VALUE_STATS_VARS()
1193011809

1193111810
WC_ALLOC_VAR(genKey, SakkeKey, 1, HEAP_HINT);
11932-
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
11933-
if (genKey == NULL) {
11934-
ret = MEMORY_E;
11935-
goto exit;
11936-
}
11937-
#endif
1193811811

1193911812
rsk = wc_ecc_new_point();
1194011813
wc_InitSakkeKey_ex(genKey, 128, ECC_SAKKE_1, NULL, INVALID_DEVID);
@@ -11986,12 +11859,6 @@ void bench_sakkeValidate(void)
1198611859
DECLARE_MULTI_VALUE_STATS_VARS()
1198711860

1198811861
WC_ALLOC_VAR(genKey, SakkeKey, 1, HEAP_HINT);
11989-
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
11990-
if (genKey == NULL) {
11991-
ret = MEMORY_E;
11992-
goto exit;
11993-
}
11994-
#endif
1199511862

1199611863
rsk = wc_ecc_new_point();
1199711864
(void)wc_InitSakkeKey_ex(genKey, 128, ECC_SAKKE_1, NULL, INVALID_DEVID);
@@ -12052,12 +11919,6 @@ void bench_sakke(void)
1205211919
DECLARE_MULTI_VALUE_STATS_VARS()
1205311920

1205411921
WC_ALLOC_VAR(genKey, SakkeKey, 1, HEAP_HINT);
12055-
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
12056-
if (genKey == NULL) {
12057-
ret = MEMORY_E;
12058-
goto exit;
12059-
}
12060-
#endif
1206111922

1206211923
XMEMCPY(ssv, ssv_init, sizeof ssv);
1206311924

0 commit comments

Comments
 (0)