re PR java/31842 (r124338 causes java Divide_1 and pr6388 to fail)

PR java/31842
	* java/lang/natString.cc (_Jv_FormatInt): Avoid undefined signed
	overflow.

From-SVN: r124530
This commit is contained in:
Ian Lance Taylor 2007-05-08 00:29:43 +00:00 committed by Ian Lance Taylor
parent 8df966ac78
commit decc7c8a1c
2 changed files with 10 additions and 4 deletions

View File

@ -1,3 +1,9 @@
2007-05-07 Ian Lance Taylor <iant@google.com>
PR java/31842
* java/lang/natString.cc (_Jv_FormatInt): Avoid undefined signed
overflow.
2007-05-07 Keith Seitz <keiths@redhat.com>
* classpath/lib/gnu/classpath/jdwp/Jdwp.class: Regenerate.

View File

@ -371,11 +371,11 @@ _Jv_FormatInt (jchar* bufend, jint num)
if (num < 0)
{
isNeg = true;
num = -(num);
if (num < 0)
if (num != (jint) -2147483648U)
num = -(num);
else
{
// Must be MIN_VALUE, so handle this special case.
// FIXME use 'unsigned jint' for num.
// Handle special case of MIN_VALUE.
*--ptr = '8';
num = 214748364;
}