...
In this example, a VLA of size s
is declared. In accordance with recommendation INT01-A. Use rsize_t or size_t for all integer values representing the size of an object, s
is of type size_t
, as it is used to specify the size of an object. However, it is unclear whether the value of s
is a valid size argument. Depending on how VLAs are implemented, s
may be interpreted as a negative value or a very large positive value. In either case, this may result in a security vulnerability.
Code Block | ||
---|---|---|
| ||
void func(size_t s) { int vla[s]; /* ... */ } /* ... */ func(size); /* ... */ |
...