As far as I know many C programmers think the addition of variable length arrays in C99 was a mistake. What would be the downside of this approach?
I do not get the connection with a VLA in this context, but if you need a VLA, by all means use it. It is basically always better than the alternative.
So much so, that it was made optional annex in C11, while Google paid to remove all their use from the Linux kernel.