about summary refs log tree commit diff
path: root/src/malloc/__simple_malloc.c
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2011-02-20 16:16:33 -0500
committerRich Felker <dalias@aerifal.cx>2011-02-20 16:16:33 -0500
commit26031da0f83a2a3ed52190077931ee6c18dfd689 (patch)
treef1cefeef545766d941e9f0fe1377e9db46ce8aad /src/malloc/__simple_malloc.c
parent598a0147cde14d093d17b81c102a1757b5ef9975 (diff)
downloadmusl-26031da0f83a2a3ed52190077931ee6c18dfd689.tar.gz
musl-26031da0f83a2a3ed52190077931ee6c18dfd689.tar.xz
musl-26031da0f83a2a3ed52190077931ee6c18dfd689.zip
make malloc(0) return unique pointers rather than NULL
this change is made with some reluctance, but i think it's for the
best. correct programs must handle either behavior, so there is little
advantage to having malloc(0) return NULL. and i managed to actually
make the malloc code slightly smaller with this change.
Diffstat (limited to 'src/malloc/__simple_malloc.c')
-rw-r--r--src/malloc/__simple_malloc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/malloc/__simple_malloc.c b/src/malloc/__simple_malloc.c
index c029342c..c8293908 100644
--- a/src/malloc/__simple_malloc.c
+++ b/src/malloc/__simple_malloc.c
@@ -15,7 +15,7 @@ void *__simple_malloc(size_t n)
 	static int lock;
 	size_t align=1;
 
-	if (!n) return 0;
+	if (!n) n++;
 	if (n > SIZE_MAX/2) goto toobig;
 
 	while (align<n && align<ALIGN)