Uhm.. As far as I can tell `alloca` doesn't return 0 like a regular malloc call, it's usually documented as:

```
alloca() returns a pointer to the beginning of the allocated space. If the allocation causes stack overflow, program behaviour is undefined.
```

So I'm not sure why there was a check here. But in any case, this is an error condition, not a regular exception.