From: ppluzhnikov Date: Tue, 29 Oct 2019 15:29:59 +0000 (+0000) Subject: 2019-10-29 Paul Pluzhnikov X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f19d5f524d609fdb36e0bb2585b1ab4eb078822d;p=thirdparty%2Fgcc.git 2019-10-29 Paul Pluzhnikov * cp-demangle.c (d_number): Avoid signed int overflow. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@277575 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index bba2be8b81be..4992b15d681a 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,7 @@ +2019-10-29 Paul Pluzhnikov + + * cp-demangle.c (d_number): Avoid signed int overflow. + 2019-10-28 Miguel Saldivar * cp-demangle.c (d_print_mod): Add a space before printing `complex` diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c index 877ad359be11..5b674d7d93c4 100644 --- a/libiberty/cp-demangle.c +++ b/libiberty/cp-demangle.c @@ -1717,7 +1717,7 @@ d_number (struct d_info *di) } if (ret > ((INT_MAX - (peek - '0')) / 10)) return -1; - ret = ret * 10 + peek - '0'; + ret = ret * 10 + (peek - '0'); d_advance (di, 1); peek = d_peek_char (di); }