Browse Source

Fix endless loop in ObjectChecker for MacOS

Bug: 477090
Change-Id: I0ba416f1cc172a835dd2723ff7fa904597ffd097
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
tags/v4.1.0.201509280440-r
Christian Halstrick 8 years ago
parent
commit
f4596284a0

+ 11
- 0
org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ObjectCheckerTest.java View File

@@ -1809,6 +1809,17 @@ public class ObjectCheckerTest {
}
}

@Test
public void testBug477090() throws CorruptObjectException {
checker.setSafeForMacOS(true);
final byte[] bytes = {
// U+221E 0xe2889e INFINITY ∞
(byte) 0xe2, (byte) 0x88, (byte) 0x9e,
// .html
0x2e, 0x68, 0x74, 0x6d, 0x6c };
checker.checkPathSegment(bytes, 0, bytes.length);
}

@Test
public void testRejectDotAtEndOnWindows() {
checker.setSafeForWindows(true);

+ 2
- 1
org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectChecker.java View File

@@ -618,8 +618,9 @@ public class ObjectChecker {
default:
return false;
}
default:
return false;
}
break;
case (byte) 0xef: // http://www.utf8-chartable.de/unicode-utf8-table.pl?start=65024
checkTruncatedIgnorableUTF8(raw, ptr, end);
// U+FEFF 0xefbbbf ZERO WIDTH NO-BREAK SPACE

Loading…
Cancel
Save