From 97bd98cbfcb3ac06e5ac84b42894301f92ea50ef Mon Sep 17 00:00:00 2001 From: Dominik Loidolt <dominik.loidolt@univie.ac.at> Date: Wed, 4 Oct 2023 16:52:08 +0200 Subject: [PATCH] rework malloc mock function --- .../test_cmp_max_used_bits_list.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/test/cmp_max_used_bits/test_cmp_max_used_bits_list.c b/test/cmp_max_used_bits/test_cmp_max_used_bits_list.c index 6ce2e52..98d0607 100644 --- a/test/cmp_max_used_bits/test_cmp_max_used_bits_list.c +++ b/test/cmp_max_used_bits/test_cmp_max_used_bits_list.c @@ -35,16 +35,19 @@ static int malloc_fail; void* malloc(size_t size) { - static void* (*real_malloc)(size_t) = NULL; + static void* (*real_malloc)(size_t size) = NULL; - if(malloc_fail) - return NULL; + if(malloc_fail) + return NULL; - if (!real_malloc) - real_malloc = (void *(*)(size_t))dlsym(RTLD_NEXT, "malloc"); + if (!real_malloc) { + *(void **)(&real_malloc) = dlsym(RTLD_NEXT, "malloc"); + /* The cast removes a gcc warning https://stackoverflow.com/a/31528674 */ + TEST_ASSERT_NOT_NULL(real_malloc); + } - fprintf(stderr, "malloc(%zu)\n", size); - return real_malloc(size); + fprintf(stderr, "malloc(%zu)\n", size); + return real_malloc(size); } -- GitLab