The tty menu code wasn't totally reentrant, causing it to free memory that wasn't on the heap if you had your inventory displayed, ^C then ask to see the inventory again. Solved this by converting the buffer used by process_menu_window to be heap-allocated. If the Quit code could return at this point, this would still be very bad, but since it doesn't, this is OK.