Согласно этой man-странице , alloca
выделит память в стеке, и она либо успешно выполнится, либо приведет к аварийному завершению вашей программы.
Теперь, для выделения 0 байтов, вам не нужно беспокоиться о возвращаемом значении: так как есть 0 байтов, нет места для записи, и не имеет значения, возвращено ли значение указателя 0x1234
или NULL в любом случае программа должна аварийно завершить работу.