8176882: Incorrect integer comparison in version numbers

Reviewed-by: psandoz
This commit is contained in:
Pavel Rappo 2017-03-16 22:58:13 +00:00
parent dab4a18468
commit c4b3290e90
2 changed files with 6 additions and 5 deletions

View File

@ -1337,14 +1337,12 @@ public class Runtime {
int oSize = ob.version().size();
int min = Math.min(size, oSize);
for (int i = 0; i < min; i++) {
Integer val = version.get(i);
Integer oVal = ob.version().get(i);
int val = version.get(i);
int oVal = ob.version().get(i);
if (val != oVal)
return val - oVal;
}
if (size != oSize)
return size - oSize;
return 0;
return size - oSize;
}
private int comparePre(Version ob) {

View File

@ -129,6 +129,9 @@ public class Basic {
testEHC("9", "10", false, false, -1, -1);
testEHC("9", "8", false, false, 1, 1);
testEHC("10.512.1", "10.512.2", false, false, -1, -1);
testEHC("512.10.1", "512.11.1", false, false, -1, -1);
// $OPT comparison
testEHC("9", "9+-oink", false, true, -1, 0);
testEHC("9+-ribbit", "9+-moo", false, true, 1, 0);