PR c++/71184: Fix NULL dereference in cp_parser_operator
authorDavid Malcolm <dmalcolm@redhat.com>
Thu, 19 May 2016 18:10:30 +0000 (18:10 +0000)
committerDavid Malcolm <dmalcolm@gcc.gnu.org>
Thu, 19 May 2016 18:10:30 +0000 (18:10 +0000)
commit5e9a538594761b93843b4285c06bcd871fa0335f
tree400ffed166e4c228ca8195177c6d22df759aff75
parent1478c897bff210b8ea875f5aa58da68ee6264c45
PR c++/71184: Fix NULL dereference in cp_parser_operator

The source-range handling for the array form of operator
new/delete erroneously assumed that the "]" was present,
leading to a dereference of NULL when it's absent.

Fix it thusly.

gcc/cp/ChangeLog:
PR c++/71184
* parser.c (cp_parser_operator): For array new/delete, check that
cp_parser_require returned a non-NULL token before dereferencing
it.

gcc/testsuite/ChangeLog:
PR c++/71184
* g++.dg/pr71184.C: New test case.

From-SVN: r236483
gcc/cp/ChangeLog
gcc/cp/parser.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/pr71184.C [new file with mode: 0644]