[PATCH wayland 02/10] test-runner: Wrap realloc() too

Daniel Stone daniel at fooishbar.org
Mon Jul 23 11:54:39 PDT 2012


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 <daniel at fooishbar.org>
---
 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");
 
-- 
1.7.10.4



More information about the wayland-devel mailing list