aboutsummaryrefslogtreecommitdiff
path: root/libiberty/cplus-dem.c
diff options
context:
space:
mode:
authorMarcel Böhme <boehme.marcel@gmail.com>2016-04-08 12:06:59 +0000
committerBernd Schmidt <bernds@gcc.gnu.org>2016-04-08 12:06:59 +0000
commit59dad006fa31fe3355defcd6b38ab70fd7d2737f (patch)
treeb50eee4ce2fe502d34cd28aa2505a3409987c65c /libiberty/cplus-dem.c
parentc3da495616f26855ac6b2522e8bbecd7e718074e (diff)
downloadgcc-59dad006fa31fe3355defcd6b38ab70fd7d2737f.zip
gcc-59dad006fa31fe3355defcd6b38ab70fd7d2737f.tar.gz
gcc-59dad006fa31fe3355defcd6b38ab70fd7d2737f.tar.bz2
Handle an overflow case (PR70498, patch by Marcel Böhme).
PR c++/70498 * cplus-dem.c (gnu_special): Handle case where consume_count returns -1. From-SVN: r234828
Diffstat (limited to 'libiberty/cplus-dem.c')
-rw-r--r--libiberty/cplus-dem.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libiberty/cplus-dem.c b/libiberty/cplus-dem.c
index 7ab46dd..abba234 100644
--- a/libiberty/cplus-dem.c
+++ b/libiberty/cplus-dem.c
@@ -3001,6 +3001,11 @@ gnu_special (struct work_stuff *work, const char **mangled, string *declp)
success = 1;
break;
}
+ else if (n == -1)
+ {
+ success = 0;
+ break;
+ }
}
else
{