summaryrefslogtreecommitdiff
path: root/lib/libc/stdlib
diff options
context:
space:
mode:
authorOtto Moerbeek <otto@cvs.openbsd.org>2008-11-20 09:05:16 +0000
committerOtto Moerbeek <otto@cvs.openbsd.org>2008-11-20 09:05:16 +0000
commit525435551d990dca513d5d81e57065bf55bc5b58 (patch)
tree9d422b029eb06cd7553a1b3895348f4c2d6a41eb /lib/libc/stdlib
parenta2feefbf84ad3460491bd1dd3241731cf1f5e5b7 (diff)
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@
Diffstat (limited to 'lib/libc/stdlib')
-rw-r--r--lib/libc/stdlib/malloc.35
-rw-r--r--lib/libc/stdlib/malloc.c4
2 files changed, 5 insertions, 4 deletions
diff --git a/lib/libc/stdlib/malloc.3 b/lib/libc/stdlib/malloc.3
index a6a8014433b..79d36d61fdb 100644
--- a/lib/libc/stdlib/malloc.3
+++ b/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/lib/libc/stdlib/malloc.c b/lib/libc/stdlib/malloc.c
index 4e33d33b1b7..0f1f088b442 100644
--- a/lib/libc/stdlib/malloc.c
+++ b/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 <otto@drijf.net>
*
@@ -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? */