[Bug tree-optimization/68680] New: On-stack VLA does not cause instrumentation with -fstack-protector-strong
fw at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Dec 3 16:08:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68680
Bug ID: 68680
Summary: On-stack VLA does not cause instrumentation with
-fstack-protector-strong
Product: gcc
Version: 5.1.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: fw at gcc dot gnu.org
Target Milestone: ---
Target: x864_64-redhat-linux-gnu
This test case
int process(char *);
int
uses_vla(unsigned long sz)
{
char buf[sz];
return process(buf);
}
compiles to:
uses_vla:
pushq %rbp
addq $15, %rdi
andq $-16, %rdi
movq %rsp, %rbp
subq %rdi, %rsp
movq %rsp, %rdi
call process
leave
ret
This happens with the C and C++ compilers.
The process function may have a buffer overflow, so stack protector
instrumentation is required here.
The equivalent test case with alloca passes.
More information about the Gcc-bugs
mailing list