re PR c++/63928 (use after free in cp/constexpr.c)
authorJason Merrill <jason@redhat.com>
Wed, 19 Nov 2014 19:03:20 +0000 (14:03 -0500)
committerJason Merrill <jason@gcc.gnu.org>
Wed, 19 Nov 2014 19:03:20 +0000 (14:03 -0500)
PR c++/63928
* constexpr.c (cxx_eval_store_expression): Return init, not *valp.

From-SVN: r217790

gcc/cp/ChangeLog
gcc/cp/constexpr.c

index 13a9965cee8a5cccad58000e2f1a29d6fb3a17b6..ac4d2a53f25df8cb21ee75e6cd36640c65f8fc26 100644 (file)
@@ -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
index d98d9b9259ef18a1e474e91d5ee37747d85f70ae..77f5159a0fdae6f539d6cda225fd430d9703b8b2 100644 (file)
@@ -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.  */