From c0676872a82ba84f6c2e9306c6e370826065b24c Mon Sep 17 00:00:00 2001 From: Muhammad Arya Date: Sat, 2 May 2026 08:56:34 +0700 Subject: [PATCH] Fix memory leak in Dilithium signing when WC_DILITHIUM_CACHE_MATRIX_A is enabled Changed line 8321 from allocating to local variable 'a' to 'key->a' to prevent memory leak when the matrix A is dynamically allocated. --- wolfcrypt/src/dilithium.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wolfcrypt/src/dilithium.c b/wolfcrypt/src/dilithium.c index ae5d2f6c34..745dc2ad9a 100644 --- a/wolfcrypt/src/dilithium.c +++ b/wolfcrypt/src/dilithium.c @@ -8318,8 +8318,8 @@ static int dilithium_sign_with_seed_mu(dilithium_key* key, #ifdef WC_DILITHIUM_CACHE_MATRIX_A #ifndef WC_DILITHIUM_FIXED_ARRAY if ((ret == 0) && (key->a == NULL)) { - a = (sword32*)XMALLOC(params->aSz, key->heap, DYNAMIC_TYPE_DILITHIUM); - if (a == NULL) { + key->a = (sword32*)XMALLOC(params->aSz, key->heap, DYNAMIC_TYPE_DILITHIUM); + if (key->a == NULL) { ret = MEMORY_E; } }