diff --git a/regress/deadlock_1.py b/regress/deadlock_1.py new file mode 100755 index 00000000..702376a3 --- /dev/null +++ b/regress/deadlock_1.py @@ -0,0 +1,11 @@ +#!/usr/bin/python +# From issue #1 of Ryan Hileman + +from unicorn import * + +CODE = b"\x90\x91\x92" + +mu = Uc(UC_ARCH_X86, UC_MODE_64) +mu.mem_map(0x100000, 4 * 1024) +mu.mem_write(0x100000, CODE) +mu.emu_start(0x100000, 0x1000 + len(CODE)) diff --git a/uc.c b/uc.c index c9043750..3c59f0c8 100644 --- a/uc.c +++ b/uc.c @@ -554,7 +554,7 @@ uc_err uc_mem_map(uch handle, uint64_t address, size_t size) // align to 8KB boundary map_begin[map_count] = address & (~ (8*1024 - 1)); - s = (size + 8*1024 - 1) & (~ (8*1024)); + s = (size + 8*1024 - 1) & (~ (8*1024 - 1)); map_end[map_count] = s + map_begin[map_count]; uc->memory_map(uc, map_begin[map_count], s); map_count++;