summaryrefslogtreecommitdiff
path: root/src/lib/libc/stdlib/malloc.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/lib/libc/stdlib/malloc.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/lib/libc/stdlib/malloc.c b/src/lib/libc/stdlib/malloc.c
index 2cd443191d..b48dcb3978 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.153 2014/04/14 10:29:41 otto Exp $ */ 1/* $OpenBSD: malloc.c,v 1.154 2014/04/21 13:17:32 deraadt Exp $ */
2/* 2/*
3 * Copyright (c) 2008, 2010, 2011 Otto Moerbeek <otto@drijf.net> 3 * Copyright (c) 2008, 2010, 2011 Otto Moerbeek <otto@drijf.net>
4 * Copyright (c) 2012 Matthew Dempsky <matthew@openbsd.org> 4 * Copyright (c) 2012 Matthew Dempsky <matthew@openbsd.org>
@@ -1432,6 +1432,17 @@ calloc(size_t nmemb, size_t size)
1432 return r; 1432 return r;
1433} 1433}
1434 1434
1435void *
1436mallocarray(size_t nmemb, size_t size)
1437{
1438 if ((nmemb >= MUL_NO_OVERFLOW || size >= MUL_NO_OVERFLOW) &&
1439 nmemb > 0 && SIZE_MAX / nmemb < size) {
1440 errno = ENOMEM;
1441 return NULL;
1442 }
1443 return malloc(size * nmemb);
1444}
1445
1435static void * 1446static void *
1436mapalign(struct dir_info *d, size_t alignment, size_t sz, int zero_fill) 1447mapalign(struct dir_info *d, size_t alignment, size_t sz, int zero_fill)
1437{ 1448{