@@ -20187,10 +20187,9 @@ WOLFSSL_TEST_SUBROUTINE wc_test_ret_t random_bank_test(void)
2018720187 byte outbuf1[16], outbuf2[16];
2018820188 int i;
2018920189
20190- WC_ALLOC_VAR_EX (bank, struct wc_rng_bank, 1, HEAP_HINT,
20190+ WC_CALLOC_VAR_EX (bank, struct wc_rng_bank, 1, HEAP_HINT,
2019120191 DYNAMIC_TYPE_TMP_BUFFER,
2019220192 return WC_TEST_RET_ENC_EC(MEMORY_E));
20193- XMEMSET(bank, 0, sizeof(*bank));
2019420193
2019520194#ifdef WC_DRBG_BANKREF
2019620195 WC_ALLOC_VAR_EX(rng, WC_RNG, 1, HEAP_HINT,
@@ -52298,44 +52297,67 @@ static wc_test_ret_t sakke_kat_derive_test(SakkeKey* key, ecc_point* rsk)
5229852297 return WC_TEST_RET_ENC_EC(ret);
5229952298 if (iTableLen != 0) {
5230052299 iTable = (byte*)XMALLOC(iTableLen, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
52301- if (iTable == NULL)
52302- return WC_TEST_RET_ENC_ERRNO;
52300+ if (iTable == NULL) {
52301+ ret = WC_TEST_RET_ENC_ERRNO;
52302+ goto out;
52303+ }
5230352304 ret = wc_GenerateSakkePointITable(key, iTable, &iTableLen);
52304- if (ret != 0)
52305- return WC_TEST_RET_ENC_EC(ret);
52305+ if (ret != 0) {
52306+ ret = WC_TEST_RET_ENC_EC(ret);
52307+ goto out;
52308+ }
5230652309 }
5230752310 len = 0;
5230852311 ret = wc_GenerateSakkeRskTable(key, rsk, NULL, &len);
52309- if (ret != WC_NO_ERR_TRACE(LENGTH_ONLY_E))
52310- return WC_TEST_RET_ENC_EC(ret);
52312+ if (ret != WC_NO_ERR_TRACE(LENGTH_ONLY_E)) {
52313+ ret = WC_TEST_RET_ENC_EC(ret);
52314+ goto out;
52315+ }
5231152316 if (len > 0) {
5231252317 table = (byte*)XMALLOC(len, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
52313- if (table == NULL)
52314- return WC_TEST_RET_ENC_ERRNO;
52318+ if (table == NULL) {
52319+ ret = WC_TEST_RET_ENC_ERRNO;
52320+ goto out;
52321+ }
5231552322 ret = wc_GenerateSakkeRskTable(key, rsk, table, &len);
52316- if (ret != 0)
52317- return WC_TEST_RET_ENC_EC(ret);
52323+ if (ret != 0) {
52324+ ret = WC_TEST_RET_ENC_EC(ret);
52325+ goto out;
52326+ }
5231852327 }
5231952328
5232052329 ret = wc_SetSakkeRsk(key, rsk, table, len);
52321- if (ret != 0)
52322- return WC_TEST_RET_ENC_EC(ret);
52330+ if (ret != 0) {
52331+ ret = WC_TEST_RET_ENC_EC(ret);
52332+ goto out;
52333+ }
5232352334
5232452335 XMEMCPY(tmpSsv, encSsv, sizeof(encSsv));
5232552336 ret = wc_DeriveSakkeSSV(key, WC_HASH_TYPE_SHA256, tmpSsv, sizeof(tmpSsv),
5232652337 auth, sizeof(auth));
52327- if (ret != 0)
52328- return WC_TEST_RET_ENC_EC(ret);
52329- if (XMEMCMP(tmpSsv, ssv, sizeof(ssv)) != 0)
52330- return WC_TEST_RET_ENC_NC;
52338+ if (ret != 0) {
52339+ ret = WC_TEST_RET_ENC_EC(ret);
52340+ goto out;
52341+ }
52342+ if (XMEMCMP(tmpSsv, ssv, sizeof(ssv)) != 0) {
52343+ ret = WC_TEST_RET_ENC_NC;
52344+ goto out;
52345+ }
5233152346
5233252347 /* Don't reference table that is about to be freed. */
5233352348 ret = wc_ClearSakkePointITable(key);
52334- if (ret != 0)
52335- return WC_TEST_RET_ENC_EC(ret);
52349+ if (ret != 0) {
52350+ ret = WC_TEST_RET_ENC_EC(ret);
52351+ }
52352+
52353+ out:
5233652354 /* Dispose of tables */
5233752355 XFREE(iTable, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
5233852356 XFREE(table, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
52357+ /* return error code if encountered */
52358+ if (ret != 0) {
52359+ return ret;
52360+ }
5233952361
5234052362 /* Make sure the key public key is exportable - convert to Montgomery form
5234152363 * in Validation.
0 commit comments