diff --git a/sys/kern/kern_malloc.c b/sys/kern/kern_malloc.c index 154c134bd693..33701c2ff24a 100644 --- a/sys/kern/kern_malloc.c +++ b/sys/kern/kern_malloc.c @@ -1,4 +1,4 @@ -/* $NetBSD: kern_malloc.c,v 1.15 1996/03/16 23:17:06 christos Exp $ */ +/* $NetBSD: kern_malloc.c,v 1.16 1996/06/06 19:13:32 cgd Exp $ */ /* * Copyright (c) 1987, 1991, 1993 @@ -315,7 +315,8 @@ free(addr, type) * it looks free before laboriously searching the freelist. */ if (freep->spare0 == WEIRD_ADDR) { - for (cp = kbp->kb_next; cp; cp = *(caddr_t *)cp) { + for (cp = kbp->kb_next; cp; + cp = ((struct freelist *)cp)->next) { if (addr != cp) continue; printf("multiply freed item %p\n", addr);