diff --git a/include/knob.h b/include/knob.h index 0b4a52c..76bd5c6 100644 --- a/include/knob.h +++ b/include/knob.h @@ -1,6 +1,6 @@ #pragma once -#define KNOB_MMAP_SIZE (1UL << 40UL) +#define KNOB_MMAP_SIZE (1UL << 36UL) #define KNOB_ALIGNMENT (sizeof(char*)) diff --git a/src/arena.c b/src/arena.c index c3d92b3..9c1f94f 100644 --- a/src/arena.c +++ b/src/arena.c @@ -114,7 +114,7 @@ int arena_delete(struct arena *a) if (!(a->flags & ARENA_GROW)) { return -1; } - int ok = munmap(a->data, a->cap); + int ok = munmap(a->data, KNOB_MMAP_SIZE); if (ok == -1) { arena_err("munmap"); return -1; diff --git a/test/test_arena.c b/test/test_arena.c index 54e8ea3..2498e37 100644 --- a/test/test_arena.c +++ b/test/test_arena.c @@ -98,6 +98,8 @@ int main() fprintf(stderr, "arena_delete was supposed to fail, but didn't\n"); exit(EXIT_FAILURE); } + + free(arena_detatch(a)); }