svn commit: trunk/uClibc/libc/stdlib: malloc malloc-simple malloc-standard
vapier at uclibc.org
vapier at uclibc.org
Mon Apr 2 12:06:00 UTC 2007
Author: vapier
Date: 2007-04-02 05:06:00 -0700 (Mon, 02 Apr 2007)
New Revision: 18301
Log:
POSIX requires that errno be set whenever 0 is returned by malloc()
Modified:
trunk/uClibc/libc/stdlib/malloc-simple/alloc.c
trunk/uClibc/libc/stdlib/malloc-standard/malloc.c
trunk/uClibc/libc/stdlib/malloc/malloc.c
Changeset:
Modified: trunk/uClibc/libc/stdlib/malloc/malloc.c
===================================================================
--- trunk/uClibc/libc/stdlib/malloc/malloc.c 2007-04-02 11:10:22 UTC (rev 18300)
+++ trunk/uClibc/libc/stdlib/malloc/malloc.c 2007-04-02 12:06:00 UTC (rev 18301)
@@ -200,7 +200,7 @@
#else
/* Some programs will call malloc (0). Lets be strict and return NULL */
if (unlikely (size == 0))
- return 0;
+ goto oom;
#endif
/* Check if they are doing something dumb like malloc(-1) */
Modified: trunk/uClibc/libc/stdlib/malloc-simple/alloc.c
===================================================================
--- trunk/uClibc/libc/stdlib/malloc-simple/alloc.c 2007-04-02 11:10:22 UTC (rev 18300)
+++ trunk/uClibc/libc/stdlib/malloc-simple/alloc.c 2007-04-02 12:06:00 UTC (rev 18301)
@@ -32,7 +32,8 @@
size++;
#else
/* Some programs will call malloc (0). Lets be strict and return NULL */
- return 0;
+ __set_errno(ENOMEM);
+ return NULL;
#endif
}
Modified: trunk/uClibc/libc/stdlib/malloc-standard/malloc.c
===================================================================
--- trunk/uClibc/libc/stdlib/malloc-standard/malloc.c 2007-04-02 11:10:22 UTC (rev 18300)
+++ trunk/uClibc/libc/stdlib/malloc-standard/malloc.c 2007-04-02 12:06:00 UTC (rev 18301)
@@ -826,7 +826,10 @@
void * retval;
#if !defined(__MALLOC_GLIBC_COMPAT__)
- if (!bytes) return NULL;
+ if (!bytes) {
+ __set_errno(ENOMEM);
+ return NULL;
+ }
#endif
__MALLOC_LOCK;
More information about the uClibc-cvs
mailing list