http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57774
Bug ID: 57774 Summary: __libc_stack_end usage is broken Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: sanitizer Assignee: unassigned at gcc dot gnu.org Reporter: pinskia at gcc dot gnu.org CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org, jakub at gcc dot gnu.org, kcc at gcc dot gnu.org static void GetArgsAndEnv(char ***argv, char ***envp) { uptr *stack_end = (uptr *)__libc_stack_end; int argc = *stack_end; *argv = (char**)(stack_end + 1); *envp = (char**)(stack_end + argc + 2); } This is not a valid thing to do I think. Since the user can change the values after the fact.