Currently, whenever we create a new string with a call to string_make, we allocate the memory for it by a simple call to malloc (via mem_sys_allocate in memory.c). However, we don't check the return value of this call, so if the malloc fails, Parrot promptly segfaults when we try to make the string null-terminated. For example, the code
set S0, "a" repeat S0, S0, 2000000000 end invariably causes Parrot to segfault on my machine. What's the best way to fix this? Simon