on master help sign in
GC check allocation of new heap.
d6d07ffCalvin Beck
rts/idris_gc.c+8
@@ -119,6 +119,14 @@ void idris_gc(VM* vm) {
119 char* newheap = malloc(vm->heap.size);
119 char* newheap = malloc(vm->heap.size);
120 char* oldheap = vm->heap.heap;
120 char* oldheap = vm->heap.heap;
121
121
122+ if (newheap == NULL) {
123+ fprintf(stderr,
124+ "GC ERROR: Unable to allocate new heap. Requested %zd bytes.\n",
125+ vm->heap.size);
126+
127+ exit(EXIT_FAILURE);
128+ }
129+
122 vm->heap.heap = newheap;
130 vm->heap.heap = newheap;
123#ifdef FORCE_ALIGNMENT
131#ifdef FORCE_ALIGNMENT
124 if (((i_int)(vm->heap.heap)&1) == 1) {
132 if (((i_int)(vm->heap.heap)&1) == 1) {