From 5b2827b23a64940a050b5d3a4d3b087b5cae0b9e Mon Sep 17 00:00:00 2001 From: otto <> Date: Thu, 20 Nov 2008 09:05:15 +0000 Subject: [PATCH] move allocations between half a page and a page as close to the end of the page as possible (i.e. make malloc option P a default). ok art@ millert@ krw@ --- src/lib/libc/stdlib/malloc.3 | 5 +++-- src/lib/libc/stdlib/malloc.c | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/lib/libc/stdlib/malloc.3 b/src/lib/libc/stdlib/malloc.3 index a6a80144..79d36d61 100644 --- a/src/lib/libc/stdlib/malloc.3 +++ b/src/lib/libc/stdlib/malloc.3 @@ -30,9 +30,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $OpenBSD: malloc.3,v 1.56 2008/11/02 14:42:01 otto Exp $ +.\" $OpenBSD: malloc.3,v 1.57 2008/11/20 09:05:15 otto Exp $ .\" -.Dd $Mdocdate: November 2 2008 $ +.Dd $Mdocdate: November 20 2008 $ .Dt MALLOC 3 .Os .Sh NAME @@ -254,6 +254,7 @@ Freed chunks are filled with 0xdf. Allocations larger than half a page but smaller that a page are aligned to the end of a page to catch buffer overruns in more cases. +This is the default. .It Cm R .Dq realloc . Always reallocate when diff --git a/src/lib/libc/stdlib/malloc.c b/src/lib/libc/stdlib/malloc.c index 4e33d33b..0f1f088b 100644 --- a/src/lib/libc/stdlib/malloc.c +++ b/src/lib/libc/stdlib/malloc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: malloc.c,v 1.109 2008/11/20 09:01:24 otto Exp $ */ +/* $OpenBSD: malloc.c,v 1.110 2008/11/20 09:05:15 otto Exp $ */ /* * Copyright (c) 2008 Otto Moerbeek * @@ -154,7 +154,7 @@ static int malloc_active; /* status of malloc */ static int malloc_freeprot; /* mprotect free pages PROT_NONE? */ static int malloc_hint; /* call madvice on free pages? */ static int malloc_junk; /* junk fill? */ -static int malloc_move; /* move allocations to end of page? */ +static int malloc_move = 1; /* move allocations to end of page? */ static int malloc_realloc; /* always realloc? */ static int malloc_xmalloc; /* xmalloc behaviour? */ static int malloc_zero; /* zero fill? */