malloc: set errno on out-of-memory

This commit is contained in:
Wolfgang Thaller 2014-09-30 10:50:56 +02:00
parent 3911cb2fde
commit c9f832b2c9

View File

@ -27,11 +27,21 @@ void referenceMyMalloc() {}
void *_malloc_r(struct _reent *reent_ptr, size_t sz)
{
return NewPtr(sz); // TODO: set errno
Ptr p = NewPtr(sz);
if(!p)
errno = ENOMEM;
return p;
}
void *_calloc_r(struct _reent *reent_ptr, size_t sz, size_t sz2)
{
return NewPtrClear(sz*sz2); // TODO: set errno
Ptr p = NewPtrClear(sz*sz2);
if(!p)
errno = ENOMEM;
return p;
}
void _free_r(struct _reent *reent_ptr, void *ptr)
@ -44,7 +54,12 @@ void *_realloc_r(struct _reent *reent_ptr, void *ptr, size_t sz)
{
if(ptr == NULL)
{
return NewPtr(sz);
Ptr p = NewPtr(sz);
if(!p)
errno = ENOMEM;
return p;
}
else
{