From: Daniel Stone Date: Mon, 23 Jul 2012 18:54:39 +0000 (+0100) Subject: test-runner: Wrap realloc() too X-Git-Tag: 0.95.0~6 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=61e9196f565e02b1774699e865a81a4efd3904bb;p=profile%2Fivi%2Fwayland.git 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 --- 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");