1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #include <stdlib.h>
- #include <unistd.h>
- #include <malloc.h>
- void (*__uc_malloc_failed)(size_t size) = NULL;
- libc_hidden_data_def(__uc_malloc_failed)
- void *__uc_malloc(size_t size)
- {
- void *p;
- while (1) {
- p = malloc(size);
- if (!size || p)
- return p;
- if (!__uc_malloc_failed)
- _exit(1);
- free(p);
- __uc_malloc_failed(size);
- }
- }
- libc_hidden_def(__uc_malloc)
|