wolfssl/wolfcrypt/types.h: add WC_ARRAY_ARG() and WC_HEAP_ARRAY_ARG() constructors, for passing arrays declared by WC_DECLARE_ARRAY() and WC_DECLARE_HEAP_ARRAY(). used this to refactor bench_rsa_helper() arg list, fixing a cppcheck argumentSize warning.

wolfcrypt/test/test.c: revert overeager constification of xmss_msg and xmss_sig.
This commit is contained in:
Daniel Pouzzner
2024-02-17 15:24:34 -06:00
parent 7f18338322
commit 8d894fb01b
3 changed files with 14 additions and 9 deletions

View File

@ -8435,13 +8435,12 @@ static const unsigned char rsa_3072_sig[] = {
#endif #endif
#endif /* WOLFSSL_RSA_VERIFY_INLINE || WOLFSSL_RSA_PUBLIC_ONLY */ #endif /* WOLFSSL_RSA_VERIFY_INLINE || WOLFSSL_RSA_PUBLIC_ONLY */
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC static void bench_rsa_helper(int useDeviceID,
static void bench_rsa_helper(int useDeviceID, RsaKey *rsaKey[BENCH_MAX_PENDING], WC_ARRAY_ARG(rsaKey,
RsaKey,
BENCH_MAX_PENDING,
sizeof(RsaKey)),
word32 rsaKeySz) word32 rsaKeySz)
#else
static void bench_rsa_helper(int useDeviceID, RsaKey rsaKey[1][BENCH_MAX_PENDING],
word32 rsaKeySz)
#endif
{ {
int ret = 0, i, times, count = 0, pending = 0; int ret = 0, i, times, count = 0, pending = 0;
word32 idx = 0; word32 idx = 0;
@ -8791,7 +8790,7 @@ void bench_rsa(int useDeviceID)
} }
if (rsaKeySz > 0) { if (rsaKeySz > 0) {
bench_rsa_helper(useDeviceID, &rsaKey[0], rsaKeySz); bench_rsa_helper(useDeviceID, rsaKey, rsaKeySz);
} }
(void)bytes; (void)bytes;

View File

@ -36876,7 +36876,7 @@ static const byte xmss_pub[XMSS_SHA256_PUBLEN] =
0xC9,0xB7,0x39,0x4E 0xC9,0xB7,0x39,0x4E
}; };
static const byte xmss_msg[32] = static /* not const */ byte xmss_msg[32] =
{ {
0x07,0x9F,0x80,0x86,0xDB,0x76,0x27,0xDF, 0x07,0x9F,0x80,0x86,0xDB,0x76,0x27,0xDF,
0xED,0x5B,0x2A,0x81,0x60,0x60,0x7D,0xB4, 0xED,0x5B,0x2A,0x81,0x60,0x60,0x7D,0xB4,
@ -36886,7 +36886,7 @@ static const byte xmss_msg[32] =
/* This was actually the 5th signature produced from /* This was actually the 5th signature produced from
* xmss_fast test in xmss-reference. */ * xmss_fast test in xmss-reference. */
static const byte xmss_sig[2500] = static /* not const */ byte xmss_sig[2500] =
{ {
0x00,0x00,0x00,0x05,0xF0,0x15,0x34,0xBA, 0x00,0x00,0x00,0x05,0xF0,0x15,0x34,0xBA,
0x92,0x03,0x6A,0xB9,0xA5,0x23,0x86,0x11, 0x92,0x03,0x6A,0xB9,0xA5,0x23,0x86,0x11,

View File

@ -587,6 +587,8 @@ typedef struct w64wrapper {
#define WC_DECLARE_HEAP_ARRAY(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP) \ #define WC_DECLARE_HEAP_ARRAY(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP) \
VAR_TYPE* VAR_NAME[VAR_ITEMS]; \ VAR_TYPE* VAR_NAME[VAR_ITEMS]; \
int idx##VAR_NAME = 0, inner_idx_##VAR_NAME int idx##VAR_NAME = 0, inner_idx_##VAR_NAME
#define WC_HEAP_ARRAY_ARG(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE) \
VAR_TYPE* VAR_NAME[VAR_ITEMS]
#define WC_ALLOC_HEAP_ARRAY(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP) \ #define WC_ALLOC_HEAP_ARRAY(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP) \
for (idx##VAR_NAME=0; idx##VAR_NAME<(VAR_ITEMS); idx##VAR_NAME++) { \ for (idx##VAR_NAME=0; idx##VAR_NAME<(VAR_ITEMS); idx##VAR_NAME++) { \
(VAR_NAME)[idx##VAR_NAME] = (VAR_TYPE*)XMALLOC(VAR_SIZE, (HEAP), DYNAMIC_TYPE_TMP_BUFFER); \ (VAR_NAME)[idx##VAR_NAME] = (VAR_TYPE*)XMALLOC(VAR_SIZE, (HEAP), DYNAMIC_TYPE_TMP_BUFFER); \
@ -641,6 +643,8 @@ typedef struct w64wrapper {
XFREE(VAR_NAME, (HEAP), DYNAMIC_TYPE_WOLF_BIGINT) XFREE(VAR_NAME, (HEAP), DYNAMIC_TYPE_WOLF_BIGINT)
#define WC_DECLARE_ARRAY(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP) \ #define WC_DECLARE_ARRAY(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP) \
WC_DECLARE_HEAP_ARRAY(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP) WC_DECLARE_HEAP_ARRAY(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP)
#define WC_ARRAY_ARG(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE) \
WC_HEAP_ARRAY_ARG(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE)
#define WC_ALLOC_ARRAY(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP) \ #define WC_ALLOC_ARRAY(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP) \
WC_ALLOC_HEAP_ARRAY(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP) WC_ALLOC_HEAP_ARRAY(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP)
#define WC_CALLOC_ARRAY(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP) \ #define WC_CALLOC_ARRAY(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP) \
@ -658,6 +662,8 @@ typedef struct w64wrapper {
#define WC_FREE_VAR(VAR_NAME, HEAP) WC_DO_NOTHING /* nothing to free, its stack */ #define WC_FREE_VAR(VAR_NAME, HEAP) WC_DO_NOTHING /* nothing to free, its stack */
#define WC_DECLARE_ARRAY(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP) \ #define WC_DECLARE_ARRAY(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP) \
VAR_TYPE VAR_NAME[VAR_ITEMS][(VAR_SIZE) / sizeof(VAR_TYPE)] /* // NOLINT(bugprone-sizeof-expression) */ VAR_TYPE VAR_NAME[VAR_ITEMS][(VAR_SIZE) / sizeof(VAR_TYPE)] /* // NOLINT(bugprone-sizeof-expression) */
#define WC_ARRAY_ARG(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE) \
VAR_TYPE VAR_NAME[VAR_ITEMS][(VAR_SIZE) / sizeof(VAR_TYPE)] /* // NOLINT(bugprone-sizeof-expression) */
#define WC_ALLOC_ARRAY(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP) WC_DO_NOTHING #define WC_ALLOC_ARRAY(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP) WC_DO_NOTHING
#define WC_CALLOC_ARRAY(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP) XMEMSET(VAR_NAME, 0, sizeof(VAR_NAME)) #define WC_CALLOC_ARRAY(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP) XMEMSET(VAR_NAME, 0, sizeof(VAR_NAME))
#define WC_ARRAY_OK(VAR_NAME) 1 #define WC_ARRAY_OK(VAR_NAME) 1