On error, no return at all; the only error that can happen here is out-of-memory, on which this function exit()s, so doesn't return.