From 6663349b8883039f22478e485ceebfe7711de84e Mon Sep 17 00:00:00 2001 From: Guillaume Cottenceau Date: Fri, 5 Jan 2001 12:30:49 +0000 Subject: fix malloc from latest dietlibc version --- mdk-stage1/dietlibc/lib/alloc.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/mdk-stage1/dietlibc/lib/alloc.c b/mdk-stage1/dietlibc/lib/alloc.c index 7e3bedc74..27b6838df 100644 --- a/mdk-stage1/dietlibc/lib/alloc.c +++ b/mdk-stage1/dietlibc/lib/alloc.c @@ -148,10 +148,18 @@ void *malloc(size_t size) else { alloc_head *tmp=(alloc_head*)(((char*)p)+need); - - prev->ptr=tmp; - tmp->ptr=p->ptr; - tmp->size=p->size-need; /* remaining size */ + if ((p->size-need)size; + prev->ptr=p->ptr; /* relink freelist */ + } + else + { + prev->ptr=tmp; + tmp->ptr=p->ptr; + tmp->size=p->size-need; /* remaining size */ + } p->size=need; /* set size */ } -- cgit v1.2.1