[C++ PATCH] Disable VLA initialization? (PR sanitizer/79993)

Jakub Jelinek jakub@redhat.com
Thu Mar 30 20:30:00 GMT 2017


On Thu, Mar 30, 2017 at 10:21:09AM -0600, Martin Sebor wrote:
> I don't think rejecting all VLA initialization just to avoid
> an Asan ICE with string literals is a good way to solve the
> problem.  For one, it will break working programs that rely on

The Asan ICE can be easily worked around, the reason I don't want to do that
is that this is the second time this broke something; the FE should
not pass a VLA static constant (STRING_CST in this case) to the middle-end,
VLA objects can be by definition only automatic variables or something
on the heap, never in the data/rodata sections.
Plus, while for VLA initialized from arrays etc. we copy the initializer
and zero initialize the rest, for VLA initialization by STRING_CST we
just copy over the STRING_CST and the rest is uninitialized.

	Jakub



More information about the Gcc-patches mailing list