From efe0f5d854d9c6d8adbb44499c024a4f871453ec Mon Sep 17 00:00:00 2001 From: pancake Date: Thu, 27 Aug 2015 00:19:12 +0200 Subject: [PATCH] Add test case for #58 --- regress/Makefile | 4 +++- regress/map_write.c | 49 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 regress/map_write.c diff --git a/regress/Makefile b/regress/Makefile index 06c5a31a..e5fa674c 100644 --- a/regress/Makefile +++ b/regress/Makefile @@ -1,7 +1,9 @@ CFLAGS += -I../include LDFLAGS = -L.. -lunicorn -TESTS = map_crash sigill sigill2 block_test +TESTS = map_crash map_write +TESTS += sigill sigill2 +TESTS += block_test all: $(TESTS) diff --git a/regress/map_write.c b/regress/map_write.c new file mode 100644 index 00000000..22913016 --- /dev/null +++ b/regress/map_write.c @@ -0,0 +1,49 @@ +#include +#include +#include + +#define ADDR 0x00400000 +#define SIZE 1024*64 +#define OVERFLOW 1 + +int main() { + uch uh; + char *buf, *buf2; + int i; + uc_err err; + + err = uc_open (UC_ARCH_X86, UC_MODE_64, &uh); + if (err) { + printf ("uc_open %d\n", err); + return 1; + } + err = uc_mem_map (uh, ADDR, SIZE); + if (err) { + printf ("uc_mem_map %d\n", err); + return 1; + } + buf = calloc (SIZE*2, 1); + buf2 = calloc (SIZE, 1); + for (i=0;i