diff options
Diffstat (limited to 'libc')
| -rw-r--r-- | libc/stdlib/malloc-930716/malloc.c | 5 | ||||
| -rw-r--r-- | libc/stdlib/malloc/malloc.c | 5 | 
2 files changed, 10 insertions, 0 deletions
diff --git a/libc/stdlib/malloc-930716/malloc.c b/libc/stdlib/malloc-930716/malloc.c index 2467da41c..dce32b90b 100644 --- a/libc/stdlib/malloc-930716/malloc.c +++ b/libc/stdlib/malloc-930716/malloc.c @@ -160,9 +160,14 @@ void * __malloc_unlocked (size_t size)      size_t log, block, blocks, i, lastblocks, start;      struct list *next; +#if defined(__MALLOC_GLIBC_COMPAT__) +    if (size == 0) +	size++; +#else      /* Some programs will call malloc (0).  Lets be strict and return NULL */      if (size == 0)  	return NULL; +#endif      if (size < sizeof (struct list))  	size = sizeof (struct list); diff --git a/libc/stdlib/malloc/malloc.c b/libc/stdlib/malloc/malloc.c index 7bbd2726b..5f88cf48e 100644 --- a/libc/stdlib/malloc/malloc.c +++ b/libc/stdlib/malloc/malloc.c @@ -184,8 +184,13 @@ malloc (size_t size)      __heap_check (&__malloc_heap, "malloc");  #endif +#if defined(__MALLOC_GLIBC_COMPAT__)    if (size == 0)      return 0; +#else +  if (size == 0) +      size++; +#endif    return malloc_from_heap (size, &__malloc_heap);  }  | 
