From 1a6c99600617f069d6d167fb3d33142a07fe0936 Mon Sep 17 00:00:00 2001 From: Nicholas Noll Date: Wed, 22 Apr 2020 20:00:41 -0700 Subject: fix: double free problem --- sys/libn/memory.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'sys/libn') diff --git a/sys/libn/memory.c b/sys/libn/memory.c index 6b715d9..ca0c819 100644 --- a/sys/libn/memory.c +++ b/sys/libn/memory.c @@ -102,7 +102,7 @@ grow(mem·Arena *a, vlong min) Assert(a->off == ALIGN_DOWN_PTR(a->off, ARENA_ALIGN)); a->curr->next = blk; - a->curr = blk; + a->curr = blk; } void* @@ -128,11 +128,11 @@ mem·freearena(mem·Arena *a) { struct Block *it, *next; - it = &a->first; + it = a->first.next; while (it != nil) { next = it->next; a->heap.free(it); - it = next; + it = next; } a->heap.free(a); -- cgit v1.2.1