@@ -49411,41 +49411,41 @@ WOLFSSL_TEST_SUBROUTINE wc_test_ret_t dilithium_test(void)
4941149411#ifndef WOLFSSL_DILITHIUM_NO_VERIFY
4941249412 ret = dilithium_param_44_vfy_test();
4941349413 if (ret != 0)
49414- ERROR_OUT(WC_TEST_RET_ENC_EC( ret) , out);
49414+ ERROR_OUT(ret, out);
4941549415#endif
4941649416#endif
4941749417#ifndef WOLFSSL_DILITHIUM_NO_MAKE_KEY
4941849418 ret = dilithium_param_test(WC_ML_DSA_44, &rng);
4941949419 if (ret != 0)
49420- ERROR_OUT(WC_TEST_RET_ENC_EC( ret) , out);
49420+ ERROR_OUT(ret, out);
4942149421#endif
4942249422#endif
4942349423#ifndef WOLFSSL_NO_ML_DSA_65
4942449424#ifdef WOLFSSL_WC_DILITHIUM
4942549425#ifndef WOLFSSL_DILITHIUM_NO_VERIFY
4942649426 ret = dilithium_param_65_vfy_test();
4942749427 if (ret != 0)
49428- ERROR_OUT(WC_TEST_RET_ENC_EC( ret) , out);
49428+ ERROR_OUT(ret, out);
4942949429#endif
4943049430#endif
4943149431#ifndef WOLFSSL_DILITHIUM_NO_MAKE_KEY
4943249432 ret = dilithium_param_test(WC_ML_DSA_65, &rng);
4943349433 if (ret != 0)
49434- ERROR_OUT(WC_TEST_RET_ENC_EC( ret) , out);
49434+ ERROR_OUT(ret, out);
4943549435#endif
4943649436#endif
4943749437#ifndef WOLFSSL_NO_ML_DSA_87
4943849438#ifdef WOLFSSL_WC_DILITHIUM
4943949439#ifndef WOLFSSL_DILITHIUM_NO_VERIFY
4944049440 ret = dilithium_param_87_vfy_test();
4944149441 if (ret != 0)
49442- ERROR_OUT(WC_TEST_RET_ENC_EC( ret) , out);
49442+ ERROR_OUT(ret, out);
4944349443#endif
4944449444#endif
4944549445#ifndef WOLFSSL_DILITHIUM_NO_MAKE_KEY
4944649446 ret = dilithium_param_test(WC_ML_DSA_87, &rng);
4944749447 if (ret != 0)
49448- ERROR_OUT(WC_TEST_RET_ENC_EC( ret) , out);
49448+ ERROR_OUT(ret, out);
4944949449#endif
4945049450#endif
4945149451
@@ -49455,7 +49455,7 @@ WOLFSSL_TEST_SUBROUTINE wc_test_ret_t dilithium_test(void)
4945549455 !defined(WOLFSSL_DILITHIUM_NO_VERIFY))
4945649456 ret = dilithium_decode_test();
4945749457 if (ret != 0) {
49458- ERROR_OUT(WC_TEST_RET_ENC_EC( ret) , out);
49458+ ERROR_OUT(ret, out);
4945949459 }
4946049460#endif /* (WOLFSSL_DILITHIUM_PUBLIC_KEY && !WOLFSSL_DILITHIUM_NO_VERIFY) ||
4946149461 * (WOLFSSL_DILITHIUM_PRIVATE_KEY && !WOLFSSL_DILITHIUM_NO_SIGN) */
@@ -49502,8 +49502,13 @@ WOLFSSL_TEST_SUBROUTINE wc_test_ret_t xmss_test(void)
4950249502 word32 skSz = 0;
4950349503 word32 sigSz = 0;
4950449504 word32 bufSz = 0;
49505- unsigned char * sk = NULL;
49506- unsigned char * old_sk = NULL;
49505+ #ifdef WOLFSSL_NO_MALLOC
49506+ static byte sk[2048];
49507+ static byte old_sk[2048];
49508+ #else
49509+ byte * sk = NULL;
49510+ byte * old_sk = NULL;
49511+ #endif
4950749512 const char * msg = "XMSS post quantum signature test";
4950849513 word32 msgSz = (word32) XSTRLEN(msg);
4950949514#if WOLFSSL_XMSS_MIN_HEIGHT <= 10
@@ -49515,7 +49520,11 @@ WOLFSSL_TEST_SUBROUTINE wc_test_ret_t xmss_test(void)
4951549520#else
4951649521 const char * param = "XMSSMT-SHA2_60/12_256";
4951749522#endif
49523+ #ifdef WOLFSSL_NO_MALLOC
49524+ static byte sig[4096];
49525+ #else
4951849526 byte * sig = NULL;
49527+ #endif
4951949528 int ret2 = -1;
4952049529 int ret = WC_TEST_RET_ENC_NC;
4952149530 WOLFSSL_ENTER("xmss_test");
@@ -49552,8 +49561,13 @@ WOLFSSL_TEST_SUBROUTINE wc_test_ret_t xmss_test(void)
4955249561 if (ret != 0) { ERROR_OUT(WC_TEST_RET_ENC_EC(ret), out); }
4955349562
4955449563 /* Allocate signature array. */
49564+ #ifdef WOLFSSL_NO_MALLOC
49565+ if (sigSz > sizeof(sig))
49566+ ERROR_OUT(WC_TEST_RET_ENC_NC, out);
49567+ #else
4955549568 sig = (byte *)XMALLOC(sigSz, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
4955649569 if (sig == NULL) { ERROR_OUT(WC_TEST_RET_ENC_ERRNO, out); }
49570+ #endif
4955749571
4955849572 bufSz = sigSz;
4955949573
@@ -49565,11 +49579,16 @@ WOLFSSL_TEST_SUBROUTINE wc_test_ret_t xmss_test(void)
4956549579#endif
4956649580
4956749581 /* Allocate current and old secret keys.*/
49582+ #ifdef WOLFSSL_NO_MALLOC
49583+ if (skSz > sizeof(sk))
49584+ ERROR_OUT(WC_TEST_RET_ENC_NC, out);
49585+ #else
4956849586 sk = (unsigned char *)XMALLOC(skSz, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
4956949587 if (sk == NULL) { ERROR_OUT(WC_TEST_RET_ENC_ERRNO, out); }
4957049588
4957149589 old_sk = (unsigned char *)XMALLOC(skSz, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
4957249590 if (old_sk == NULL) { ERROR_OUT(WC_TEST_RET_ENC_ERRNO, out); }
49591+ #endif
4957349592
4957449593 XMEMSET(sk, 0, skSz);
4957549594 XMEMSET(old_sk, 0, skSz);
@@ -49630,6 +49649,7 @@ WOLFSSL_TEST_SUBROUTINE wc_test_ret_t xmss_test(void)
4963049649out:
4963149650
4963249651 /* Cleanup everything. */
49652+ #ifndef WOLFSSL_NO_MALLOC
4963349653 XFREE(sig, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
4963449654 sig = NULL;
4963549655
@@ -49638,6 +49658,7 @@ WOLFSSL_TEST_SUBROUTINE wc_test_ret_t xmss_test(void)
4963849658
4963949659 XFREE(old_sk, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
4964049660 old_sk = NULL;
49661+ #endif /* !WOLFSSL_NO_MALLOC */
4964149662
4964249663 wc_XmssKey_Free(&signingKey);
4964349664 wc_XmssKey_Free(&verifyKey);
@@ -50152,6 +50173,9 @@ WOLFSSL_TEST_SUBROUTINE wc_test_ret_t lms_test(void)
5015250173 int sigsLeft = 0;
5015350174 LmsKey signingKey;
5015450175 LmsKey verifyKey;
50176+ #if defined(WOLFSSL_NO_MALLOC) && defined(NO_WOLFSSL_MEMORY)
50177+ static byte signingKey_priv_data[4096];
50178+ #endif
5015550179 WC_RNG rng;
5015650180 word32 sigSz = 0;
5015750181 const char * msg = "LMS HSS post quantum signature test";
@@ -50207,6 +50231,9 @@ WOLFSSL_TEST_SUBROUTINE wc_test_ret_t lms_test(void)
5020750231
5020850232 ret = wc_LmsKey_Init(&signingKey, NULL, devId);
5020950233 if (ret != 0) { ERROR_OUT(WC_TEST_RET_ENC_EC(ret), out); }
50234+ #if defined(WOLFSSL_NO_MALLOC) && defined(NO_WOLFSSL_MEMORY)
50235+ signingKey.priv_data = signingKey_priv_data;
50236+ #endif
5021050237
5021150238 ret = wc_LmsKey_Init(&verifyKey, NULL, devId);
5021250239 if (ret != 0) { ERROR_OUT(WC_TEST_RET_ENC_EC(ret), out); }
@@ -50316,6 +50343,9 @@ WOLFSSL_TEST_SUBROUTINE wc_test_ret_t lms_test(void)
5031650343
5031750344out:
5031850345
50346+ #if defined(WOLFSSL_NO_MALLOC) && defined(NO_WOLFSSL_MEMORY)
50347+ signingKey.priv_data = NULL;
50348+ #endif
5031950349 wc_LmsKey_Free(&signingKey);
5032050350 wc_LmsKey_Free(&verifyKey);
5032150351
0 commit comments