]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
decl.c (reshape_init_class): Avoid dereferencing a past-the-end pointer.
authorMark Kettenis <kettenis@openbsd.org>
Sun, 9 Sep 2012 10:06:13 +0000 (10:06 +0000)
committerGerald Pfeifer <gerald@gcc.gnu.org>
Sun, 9 Sep 2012 10:06:13 +0000 (10:06 +0000)
* decl.c (reshape_init_class): Avoid dereferencing a
past-the-end pointer.

From-SVN: r191106

gcc/cp/ChangeLog
gcc/cp/decl.c

index 0fea1a664d3aa2751469dd73ccb943f7564bd65d..371fdfe152e8a03320493a30b419f9483d54e5d4 100644 (file)
@@ -1,3 +1,8 @@
+2012-09-09  Mark Kettenis  <kettenis@openbsd.org>
+
+       * decl.c (reshape_init_class): Avoid dereferencing a
+       past-the-end pointer.
+                 
 2012-09-07  Paolo Carlini  <paolo.carlini@oracle.com>
 
        * pt.c (num_template_headers_for_class): Rework per the code
index f86c54ffff6405b876975cc98138602e3ccb2762..7655f78729aa0912589cbbcbb14e2f73346a6039 100644 (file)
@@ -5131,7 +5131,7 @@ reshape_init_class (tree type, reshape_iter *d, bool first_initializer_p,
       if (field_init == error_mark_node)
        return error_mark_node;
 
-      if (d->cur->index && d->cur == old_cur)
+      if (d->cur == old_cur && d->cur->index)
        {
          /* This can happen with an invalid initializer for a flexible
             array member (c++/54441).  */