diff options
author | Jason Merrill <jason@redhat.com> | 2014-11-19 14:03:20 -0500 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2014-11-19 14:03:20 -0500 |
commit | 3bdf0a9ba51c25ab13d5f37e311d77c12aca55ae (patch) | |
tree | 01c552187bbd817808764c705179037283348e9f | |
parent | 92c66d8311bb83157dbbf0008f750e12761d5296 (diff) | |
download | gcc-3bdf0a9ba51c25ab13d5f37e311d77c12aca55ae.zip gcc-3bdf0a9ba51c25ab13d5f37e311d77c12aca55ae.tar.gz gcc-3bdf0a9ba51c25ab13d5f37e311d77c12aca55ae.tar.bz2 |
re PR c++/63928 (use after free in cp/constexpr.c)
PR c++/63928
* constexpr.c (cxx_eval_store_expression): Return init, not *valp.
From-SVN: r217790
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/constexpr.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 13a9965..ac4d2a5 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2014-11-19 Jason Merrill <jason@redhat.com> + + PR c++/63928 + * constexpr.c (cxx_eval_store_expression): Return init, not *valp. + 2014-11-19 Paolo Carlini <paolo.carlini@oracle.com> PR c++/55425 diff --git a/gcc/cp/constexpr.c b/gcc/cp/constexpr.c index d98d9b9..77f5159 100644 --- a/gcc/cp/constexpr.c +++ b/gcc/cp/constexpr.c @@ -2554,7 +2554,7 @@ cxx_eval_store_expression (const constexpr_ctx *ctx, tree t, else if (addr) return target; else - return *valp; + return init; } /* Evaluate a ++ or -- expression. */ |