man alloca on my Linux system says:
NOTES ON THE GNU VERSION
(...) there is no NULL error return.
The alloca() function is machine and compiler dependent. On many
systems its implementation is buggy. Its use is discouraged.
On many systems alloca() cannot be used inside the list of
arguments of a function call, because the stack space reserved by
alloca() would appear on the stack in the middle of the space for
the function arguments.
OTOH, programs like gcc and emacs have been using alloca() a lot,
though I think at least gcc has mostly gotten rid of it.