On 7 March 2018 at 13:09, Linus Torvalds <[email protected]> wrote:
> On Wed, Mar 7, 2018 at 9:37 AM, Kees Cook <[email protected]> wrote:
>>
>> Building with -Wvla, I see 209 unique locations reported in 60 directories:
>> http://paste.ubuntu.com/p/srQxwPQS9s/
>
> Ok, that's not so bad. Maybe Greg could even add it to one of those
> things he encourages new people to do?
>
> Because at least *some* of them are pretty trivial. For example,
> looking at the core code, I was surprised to see something in
> lib/btree.c
Some are probably just the issue of technically having a VLA that's
not really a VLA:
static const int size = 5;
void foo(void) {
int x[size];
}
% gcc -c -Wvla foo.c
foo.c: In function ‘foo’:
foo.c:4:3: warning: ISO C90 forbids variable length array ‘x’ [-Wvla]
int x[size];
^~~
I don't really understand why the C standard didn't make `static
const` declarations usable as constant expressions like C++. They made
the pointer conversions more painful too.
It would be nice to get rid of those cases to use -Werror=vla though.