From 319641a7ee8b99536b245e1486792a26ea67e8b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20P=C3=A9gouri=C3=A9-Gonnard?= Date: Mon, 28 Jul 2025 23:42:14 +0200 Subject: [PATCH] Improve safety of a test helper MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In case parsing fails and we free the pointer, we should also set it to NULL. Otherwise, we get a double-free when the caller tries to free it as well. This can only happen with bad test data, but it tripped me up during development. (I got bad test data because bignum_common.invmod() sometimes returned a negative value, which was a surprise to me, see previous commit.) Signed-off-by: Manuel Pégourié-Gonnard --- tests/src/bignum_helpers.c | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/src/bignum_helpers.c b/tests/src/bignum_helpers.c index 913f5e387..f6d9f4dea 100644 --- a/tests/src/bignum_helpers.c +++ b/tests/src/bignum_helpers.c @@ -71,6 +71,7 @@ int mbedtls_test_read_mpi_core(mbedtls_mpi_uint **pX, size_t *plimbs, exit: mbedtls_free(*pX); + *pX = NULL; return MBEDTLS_ERR_MPI_BAD_INPUT_DATA; }