From 167fe991d621ce6db09bc99459ec094fb403a8df Mon Sep 17 00:00:00 2001 From: kib Date: Sat, 5 Sep 2009 13:32:05 +0000 Subject: Handle zero size for posix_memalign. Return NULL or unique address according to the 'V' option. PR: standards/138307 MFC after: 1 week --- lib/libc/stdlib/malloc.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'lib/libc/stdlib/malloc.c') diff --git a/lib/libc/stdlib/malloc.c b/lib/libc/stdlib/malloc.c index 270d641..b56b003 100644 --- a/lib/libc/stdlib/malloc.c +++ b/lib/libc/stdlib/malloc.c @@ -5320,6 +5320,15 @@ posix_memalign(void **memptr, size_t alignment, size_t size) goto RETURN; } + if (size == 0) { + if (opt_sysv == false) + size = 1; + else { + result = NULL; + ret = 0; + goto RETURN; + } + } result = ipalloc(alignment, size); } -- cgit v1.1