summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorotto <>2020-11-23 15:42:11 +0000
committerotto <>2020-11-23 15:42:11 +0000
commit4594ab4487e73070cff05c330cce9ed796246510 (patch)
tree2e78dba4096efd71682f792f2b35cd4cf33c69e0
parent0e986b357691474bd45cc44c68308d4fa82c6929 (diff)
downloadopenbsd-4594ab4487e73070cff05c330cce9ed796246510.tar.gz
openbsd-4594ab4487e73070cff05c330cce9ed796246510.tar.bz2
openbsd-4594ab4487e73070cff05c330cce9ed796246510.zip
mapalign() only handles allocations >= a page; problem found by and ok semarie@
-rw-r--r--src/lib/libc/stdlib/malloc.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/libc/stdlib/malloc.c b/src/lib/libc/stdlib/malloc.c
index 86670fca87..7004a0aa36 100644
--- a/src/lib/libc/stdlib/malloc.c
+++ b/src/lib/libc/stdlib/malloc.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: malloc.c,v 1.266 2020/10/12 22:08:33 deraadt Exp $ */ 1/* $OpenBSD: malloc.c,v 1.267 2020/11/23 15:42:11 otto Exp $ */
2/* 2/*
3 * Copyright (c) 2008, 2010, 2011, 2016 Otto Moerbeek <otto@drijf.net> 3 * Copyright (c) 2008, 2010, 2011, 2016 Otto Moerbeek <otto@drijf.net>
4 * Copyright (c) 2012 Matthew Dempsky <matthew@openbsd.org> 4 * Copyright (c) 2012 Matthew Dempsky <matthew@openbsd.org>
@@ -1957,6 +1957,8 @@ omemalign(struct dir_info *pool, size_t alignment, size_t sz, int zero_fill,
1957 return NULL; 1957 return NULL;
1958 } 1958 }
1959 1959
1960 if (sz < MALLOC_PAGESIZE)
1961 sz = MALLOC_PAGESIZE;
1960 sz += mopts.malloc_guard; 1962 sz += mopts.malloc_guard;
1961 psz = PAGEROUND(sz); 1963 psz = PAGEROUND(sz);
1962 1964