diff options
author | otto <> | 2017-03-28 16:56:38 +0000 |
---|---|---|
committer | otto <> | 2017-03-28 16:56:38 +0000 |
commit | 08d9dd200e49eb892cbaefa9fc02c37bfc6dff51 (patch) | |
tree | 60c08c46a176f8aefec84786e48727bac05a864c | |
parent | 96b98dd5daa1ee031a31498ad339b94ff699a0bb (diff) | |
download | openbsd-08d9dd200e49eb892cbaefa9fc02c37bfc6dff51.tar.gz openbsd-08d9dd200e49eb892cbaefa9fc02c37bfc6dff51.tar.bz2 openbsd-08d9dd200e49eb892cbaefa9fc02c37bfc6dff51.zip |
small cleanup & optimization; ok deraadt@ millert@
-rw-r--r-- | src/lib/libc/stdlib/malloc.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/lib/libc/stdlib/malloc.c b/src/lib/libc/stdlib/malloc.c index 688354f1e0..1e13c2de11 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.217 2017/03/24 16:23:05 otto Exp $ */ | 1 | /* $OpenBSD: malloc.c,v 1.218 2017/03/28 16:56:38 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> |
@@ -1703,6 +1703,9 @@ orecallocarray(struct dir_info *argpool, void *p, size_t oldsize, | |||
1703 | if (p == NULL) | 1703 | if (p == NULL) |
1704 | return omalloc(pool, newsize, 1, f); | 1704 | return omalloc(pool, newsize, 1, f); |
1705 | 1705 | ||
1706 | if (oldsize == newsize) | ||
1707 | return p; | ||
1708 | |||
1706 | r = find(pool, p); | 1709 | r = find(pool, p); |
1707 | if (r == NULL) { | 1710 | if (r == NULL) { |
1708 | if (mopts.malloc_mt) { | 1711 | if (mopts.malloc_mt) { |
@@ -1791,7 +1794,7 @@ recallocarray_p(void *ptr, size_t oldnmemb, size_t newnmemb, size_t size) | |||
1791 | if (newsize <= oldsize) { | 1794 | if (newsize <= oldsize) { |
1792 | size_t d = oldsize - newsize; | 1795 | size_t d = oldsize - newsize; |
1793 | 1796 | ||
1794 | if (d < oldsize / 2 && d < getpagesize()) { | 1797 | if (d < oldsize / 2 && d < MALLOC_PAGESIZE) { |
1795 | memset((char *)ptr + newsize, 0, d); | 1798 | memset((char *)ptr + newsize, 0, d); |
1796 | return ptr; | 1799 | return ptr; |
1797 | } | 1800 | } |