From 543c1d44711c4a4cd1ee52c3717abfe2c79b344a Mon Sep 17 00:00:00 2001 From: Jakob Kaivo Date: Tue, 30 Jun 2020 16:47:48 -0400 Subject: add tests for attempting to free() or realloc() on an invalid address --- Makefile | 8 ++++++-- test/invalid-free.c | 12 ++++++++++++ test/invalid-realloc.c | 12 ++++++++++++ 3 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 test/invalid-free.c create mode 100644 test/invalid-realloc.c diff --git a/Makefile b/Makefile index fb4d4b0..382c86b 100644 --- a/Makefile +++ b/Makefile @@ -16,13 +16,15 @@ TESTS=$(BINDIR)/overflow \ $(BINDIR)/realloc \ $(BINDIR)/use-after-free \ $(BINDIR)/double-free \ - $(BINDIR)/macros + $(BINDIR)/macros \ + $(BINDIR)/invalid-free \ + $(BINDIR)/invalid-realloc all: $(LIBDIR)/libmapalloc.a $(LIBDIR)/libwrapalloc.so #$(LIBDIR)/libmapalloc.so -tests: $(TESTS) $(BINDIR)/wrapper +tests: all $(TESTS) $(BINDIR)/wrapper $(OBJDIR)/mapalloc.o: $(SRCDIR)/mapalloc.c $(INCDIR)/mapalloc.h @mkdir -p $(@D) @@ -52,6 +54,8 @@ $(BINDIR)/realloc: $(TESTDIR)/realloc.c $(BINDIR)/use-after-free: $(TESTDIR)/use-after-free.c $(BINDIR)/double-free: $(TESTDIR)/double-free.c $(BINDIR)/macros: $(TESTDIR)/macros.c +$(BINDIR)/invalid-free: $(TESTDIR)/invalid-free.c +$(BINDIR)/invalid-realloc: $(TESTDIR)/invalid-realloc.c $(BINDIR)/wrapper: $(TESTDIR)/wrapper.c @mkdir -p $(@D) diff --git a/test/invalid-free.c b/test/invalid-free.c new file mode 100644 index 0000000..5aba5e6 --- /dev/null +++ b/test/invalid-free.c @@ -0,0 +1,12 @@ +#define _POSIX_C_SOURCE 200809L +#include +#include +#include +#include "mapalloc.h" + +int main(void) +{ + int foo = 42; + MA_free(&foo); + printf("freed\n"); +} diff --git a/test/invalid-realloc.c b/test/invalid-realloc.c new file mode 100644 index 0000000..f60bedc --- /dev/null +++ b/test/invalid-realloc.c @@ -0,0 +1,12 @@ +#define _POSIX_C_SOURCE 200809L +#include +#include +#include +#include "mapalloc.h" + +int main(void) +{ + int foo = 42; + int *ptr = MA_realloc(&foo, sizeof(int)); + printf("%d\n", *ptr); +} -- cgit v1.2.1