Skip to content

Commit 31943d2

Browse files
Maschellfincs
authored andcommitted
wutmalloc: make sure to set errno properly on error
1 parent 3242650 commit 31943d2

1 file changed

Lines changed: 15 additions & 3 deletions

File tree

libraries/wutmalloc/wut_malloc.c

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,11 @@ _calloc_r(struct _reent *r, size_t num, size_t size)
6666
void *
6767
_memalign_r(struct _reent *r, size_t align, size_t size)
6868
{
69-
return MEMAllocFromDefaultHeapEx((size + align - 1) & ~(align - 1), align);
69+
void *ptr = MEMAllocFromDefaultHeapEx((size + align - 1) & ~(align - 1), align);
70+
if (!ptr) {
71+
r->_errno = ENOMEM;
72+
}
73+
return ptr;
7074
}
7175

7276
struct mallinfo _mallinfo_r(struct _reent *r)
@@ -95,13 +99,21 @@ _malloc_usable_size_r(struct _reent *r, void *ptr)
9599
void *
96100
_valloc_r(struct _reent *r, size_t size)
97101
{
98-
return MEMAllocFromDefaultHeapEx(size, OS_PAGE_SIZE);
102+
void *ptr = MEMAllocFromDefaultHeapEx(size, OS_PAGE_SIZE);
103+
if (!ptr) {
104+
r->_errno = ENOMEM;
105+
}
106+
return ptr;
99107
}
100108

101109
void *
102110
_pvalloc_r(struct _reent *r, size_t size)
103111
{
104-
return MEMAllocFromDefaultHeapEx((size + (OS_PAGE_SIZE - 1)) & ~(OS_PAGE_SIZE - 1), OS_PAGE_SIZE);
112+
void *ptr = MEMAllocFromDefaultHeapEx((size + (OS_PAGE_SIZE - 1)) & ~(OS_PAGE_SIZE - 1), OS_PAGE_SIZE);
113+
if (!ptr) {
114+
r->_errno = ENOMEM;
115+
}
116+
return ptr;
105117
}
106118

107119
int

0 commit comments

Comments
 (0)