https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69522

--- Comment #9 from Bernd Schmidt <bernds at gcc dot gnu.org> ---
Author: bernds
Date: Fri Feb 12 01:38:06 2016
New Revision: 233366

URL: https://gcc.gnu.org/viewcvs?rev=233366&root=gcc&view=rev
Log:
Fix obstack use-after-free problems in C frontend, PR69522

c/
        PR c/69522
        * c-parser.c (c_parser_braced_init): New arg outer_obstack.  All
        callers changed.  If nested_p is true, use it to call
        finish_implicit_inits.
        * c-tree.h (finish_implicit_inits): Declare.
        * c-typeck.c (finish_implicit_inits): New function.  Move code
        from ...
        (push_init_level): ... here.
        (set_designator, process_init_element): Call finish_implicit_inits.

testsuite/
        PR c/69522
        gcc.dg/pr69522.c: New test.


Added:
    trunk/gcc/testsuite/gcc.dg/pr69522.c
Modified:
    trunk/gcc/c/ChangeLog
    trunk/gcc/c/c-parser.c
    trunk/gcc/c/c-tree.h
    trunk/gcc/c/c-typeck.c
    trunk/gcc/testsuite/ChangeLog

Reply via email to