From 61e9196f565e02b1774699e865a81a4efd3904bb Mon Sep 17 00:00:00 2001 From: Daniel Stone Date: Mon, 23 Jul 2012 19:54:39 +0100 Subject: [PATCH] test-runner: Wrap realloc() too So all our tests don't start failing just because we had the temerity to use realloc() rather than malloc(). Signed-off-by: Daniel Stone --- tests/test-runner.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/tests/test-runner.c b/tests/test-runner.c index c4a57a3..5e8ec95 100644 --- a/tests/test-runner.c +++ b/tests/test-runner.c @@ -36,6 +36,7 @@ static int num_alloc; static void* (*sys_malloc)(size_t); static void (*sys_free)(void*); +static void* (*sys_realloc)(void*, size_t); extern const struct test __start_test_section, __stop_test_section; @@ -54,6 +55,14 @@ free(void* mem) sys_free(mem); } +__attribute__ ((visibility("default"))) void * +realloc(void* mem, size_t size) +{ + if (mem == NULL) + num_alloc++; + return sys_realloc(mem, size); +} + static const struct test * find_test(const char *name) { @@ -86,7 +95,8 @@ int main(int argc, char *argv[]) int total, pass; siginfo_t info; - /* Load system malloc and free */ + /* Load system malloc, free, and realloc */ + sys_realloc = dlsym(RTLD_NEXT, "realloc"); sys_malloc = dlsym(RTLD_NEXT, "malloc"); sys_free = dlsym(RTLD_NEXT, "free"); -- 2.7.4