From 1323b81cd2679bb61a480524a0e4cd008d3d0bee Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Wed, 1 Jul 2026 21:37:09 +0200 Subject: Add support for the reference implementation of Argon2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- libtest/config.mk | 5 +++++ libtest/config_backtraces=false.mk | 2 +- libtest/config_backtraces=true.mk | 2 +- libtest/libtest_free.c | 13 +++++++------ 4 files changed, 14 insertions(+), 8 deletions(-) (limited to 'libtest') diff --git a/libtest/config.mk b/libtest/config.mk index 9538ee9..49179b4 100644 --- a/libtest/config.mk +++ b/libtest/config.mk @@ -1,6 +1,11 @@ WITH_BACKTRACE = false IMPLEMENT_MMAP = true +BZERO_CHECK_CPPFLAGS != \ + if test -n "$(ARGON2_VERSION)"; then\ + echo -DDONT_CHECK_MEMORY_ZEROED\ + ;fi + TEST_CONFIGFILE = config_backtraces=$(WITH_BACKTRACE).mk include $(TEST_INCLUDE_PREFIX)$(TEST_CONFIGFILE) diff --git a/libtest/config_backtraces=false.mk b/libtest/config_backtraces=false.mk index ff6b659..3b167af 100644 --- a/libtest/config_backtraces=false.mk +++ b/libtest/config_backtraces=false.mk @@ -1,6 +1,6 @@ include $(TEST_INCLUDE_PREFIX)common-config.mk TEST_CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=700 -D_GNU_SOURCE\ - $(IMPLEMENT_MMAP_CPPFLAGS) + $(IMPLEMENT_MMAP_CPPFLAGS) $(BZERO_CHECK_CPPFLAGS) TEST_CFLAGS = TEST_LDFLAGS = diff --git a/libtest/config_backtraces=true.mk b/libtest/config_backtraces=true.mk index aac9cc3..3db1e2e 100644 --- a/libtest/config_backtraces=true.mk +++ b/libtest/config_backtraces=true.mk @@ -1,7 +1,7 @@ include $(TEST_INCLUDE_PREFIX)common-config.mk TEST_CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=700 -D_GNU_SOURCE\ - $(IMPLEMENT_MMAP_CPPFLAGS) -DWITH_BACKTRACE + $(IMPLEMENT_MMAP_CPPFLAGS) $(BZERO_CHECK_CPPFLAGS) -DWITH_BACKTRACE TEST_CFLAGS = -g TEST_LDFLAGS = -lunwind -ldw diff --git a/libtest/libtest_free.c b/libtest/libtest_free.c index d46218e..8667e85 100644 --- a/libtest/libtest_free.c +++ b/libtest/libtest_free.c @@ -8,8 +8,7 @@ libtest_free(void *ptr, enum libtest_zero_check zero_checking) { struct meminfo *mem; int saved_errno = errno; - int unmap_err, memory_zeroed; - uint8_t *usable_area; + int unmap_err; size_t i; #ifdef WITH_BACKTRACE static _Thread_local int inside_free = 0; @@ -52,10 +51,11 @@ libtest_free(void *ptr, enum libtest_zero_check zero_checking) } SPINUNLOCK(libtest_allocs_list_spinlock); +#ifndef DONT_CHECK_MEMORY_ZEROED /* Check memory is zeroed */ if (zero_checking && libtest_expect_zeroed && !mem->accept_leakage) { - usable_area = mem->usable_area; - memory_zeroed = 1; + uint8_t *usable_area = mem->usable_area; + int memory_zeroed = 1; for (i = 0u; i < mem->usable_alloc_size; i++) { if (usable_area[i]) { memory_zeroed = 0; @@ -63,7 +63,7 @@ libtest_free(void *ptr, enum libtest_zero_check zero_checking) break; } } -#ifdef WITH_BACKTRACE +# ifdef WITH_BACKTRACE if (!memory_zeroed && mem->backtrace) { libtest_malloc_internal_usage++; inside_free = 1; @@ -72,9 +72,10 @@ libtest_free(void *ptr, enum libtest_zero_check zero_checking) 0u, mem->backtrace, NULL); inside_free = 0; } -#endif +# endif assert(memory_zeroed); } +#endif /* Optionally print out trace */ #ifdef WITH_BACKTRACE -- cgit v1.3.1