Re: [PATCH 2/2] alloca.3: rewrite NOTES

Alejandro Colomar (man-pages)
2021-08-24T11:18:09Z

Hi, Ahelenia!

On 8/24/21 12:33 PM, Alejandro Colomar (man-pages) wrote:
>
> And apart from what Michael (and Branden) already said, I have one
> question that has not been treated before it seems:
>
> AFAIK, VLAs are 100% equivalent to alloca() (except for the obvious
> syntax differences).  And considering the VLA syntax is much nicer than
> alloca(), and is in the standard (IIRC, C99 added VLAs, and C11 declared
> them optional), what about adding a NOTES subsection that recommends (or
> at least mentions) VLAs?
>
> And they both share the problem of smashing the stack if you try to
> allocate an array to big (and none of them has a way to check if it will
> happen, AFAIK).

Now that I think, there's a slight difference, of course: VLAs live in
their block scope, while alloca() lives in the function scope, allowing
to embed it in a macro such as strdupa().

But maybe still worth mentioning VLAs in alloca(3).

Cheers,

Alex

--
Alejandro Colomar
Linux man-pages comaintainer; https://www.kernel.org/doc/man-pages/