From 6fdd5ef05d3768d61e122b53357595d4c9843baa Mon Sep 17 00:00:00 2001 From: Yuichi Nishiwaki Date: Thu, 16 Jul 2015 17:11:55 +0900 Subject: [PATCH] [bugfix] don't melt base header into *backword* free chunk as well. --- extlib/benz/gc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extlib/benz/gc.c b/extlib/benz/gc.c index 2736c80a..fb2fa70f 100644 --- a/extlib/benz/gc.c +++ b/extlib/benz/gc.c @@ -203,7 +203,7 @@ heap_free(pic_state *pic, void *ap) } else { bp->s.ptr = p->s.ptr; } - if (p + p->s.size == bp) { + if (p + p->s.size == bp && bp->s.size > 0) { /* don't melt base header */ p->s.size += bp->s.size; p->s.ptr = bp->s.ptr; } else {