summaryrefslogtreecommitdiff
path: root/lib/libc/stdlib/malloc.c
diff options
context:
space:
mode:
authorelad <elad@NetBSD.org>2006-10-08 16:25:15 +0000
committerelad <elad@NetBSD.org>2006-10-08 16:25:15 +0000
commit25c47f2333e2f4a2f4eed6e73c4ab2244b357ce7 (patch)
treee4a593dca3022a4eb1780bd18a7ec24412b306f2 /lib/libc/stdlib/malloc.c
parente18b1bdd1d65f5c2e9563287031fbda0a6d10862 (diff)
PR/34602: sushant: Bug in malloc implementation contains dead code in
free_pages() Applied patch from Mindaugas <unex at linija org> (in #NetBSD-code), thanks
Diffstat (limited to 'lib/libc/stdlib/malloc.c')
-rw-r--r--lib/libc/stdlib/malloc.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/libc/stdlib/malloc.c b/lib/libc/stdlib/malloc.c
index fc3c976f1ab..6b9624cc0e0 100644
--- a/lib/libc/stdlib/malloc.c
+++ b/lib/libc/stdlib/malloc.c
@@ -1,4 +1,4 @@
-/* $NetBSD: malloc.c,v 1.46 2005/12/24 21:42:02 perry Exp $ */
+/* $NetBSD: malloc.c,v 1.47 2006/10/08 16:25:15 elad Exp $ */
/*
* ----------------------------------------------------------------------------
@@ -70,7 +70,7 @@ void utrace(struct ut *, int);
# define UTRACE_LABEL "malloc",
#include <sys/cdefs.h>
#if defined(LIBC_SCCS) && !defined(lint)
-__RCSID("$NetBSD: malloc.c,v 1.46 2005/12/24 21:42:02 perry Exp $");
+__RCSID("$NetBSD: malloc.c,v 1.47 2006/10/08 16:25:15 elad Exp $");
#endif /* LIBC_SCCS and not lint */
#include <sys/types.h>
int utrace(const char *, void *, size_t);
@@ -990,11 +990,12 @@ free_pages(void *ptr, size_t idx, struct pginfo *info)
malloc_brk = pf->end;
idx = ptr2idx(pf->end);
- last_idx = idx - 1;
for(i=idx;i <= last_idx;)
page_dir[i++] = MALLOC_NOT_MINE;
+ last_idx = idx - 1;
+
/* XXX: We could realloc/shrink the pagedir here I guess. */
}
if (pt != NULL)