diff options
author | Jakob Kaivo <jkk@ung.org> | 2020-06-30 16:47:48 -0400 |
---|---|---|
committer | Jakob Kaivo <jkk@ung.org> | 2020-06-30 16:47:48 -0400 |
commit | 543c1d44711c4a4cd1ee52c3717abfe2c79b344a (patch) | |
tree | 36ca054153361bf60ae0aefcc5f1db5cf0aaf491 | |
parent | aacd5c7f5eb7e9a247e453a13ce7534bd28aed34 (diff) |
add tests for attempting to free() or realloc() on an invalid address
-rw-r--r-- | Makefile | 8 | ||||
-rw-r--r-- | test/invalid-free.c | 12 | ||||
-rw-r--r-- | test/invalid-realloc.c | 12 |
3 files changed, 30 insertions, 2 deletions
@@ -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 <stdio.h> +#include <string.h> +#include <unistd.h> +#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 <stdio.h> +#include <string.h> +#include <unistd.h> +#include "mapalloc.h" + +int main(void) +{ + int foo = 42; + int *ptr = MA_realloc(&foo, sizeof(int)); + printf("%d\n", *ptr); +} |