On 04/01/2016 05:03 AM, Marcel Böhme wrote:
This fixes the invalid write of size 8 detailed in 
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70492

Handle the special case when consume_count returns -1 due to an integer 
overflow when parsing the length of the virtual table qualifier in 
cplus-dem.c:2994 (gnu_special).

Index: libiberty/cplus-dem.c
===================================================================
--- libiberty/cplus-dem.c       (revision 234663)
+++ libiberty/cplus-dem.c       (working copy)
@@ -3001,6 +3001,11 @@ gnu_special (work, mangled, declp)
                      success = 1;
                      break;
                    }
+                  else if (n == -1)
+                    {
+                      success = 0;
+                      break;
+                    }

I've discussed these patches with Jakub and he gave me RM green light for these patches at this stage. I've committed this one, and the one for PR69687.

Some more comments for next time. Patch submissions should include ChangeLog entries. For whitespace, try to follow the prevalent style which is to begin the line with tab characters; the patch above contains only spaces.


Bernd

Reply via email to