Merge "testMaliciousPathEmpty fails on Windows"
This commit is contained in:
commit
b686fa45b6
|
@ -54,6 +54,7 @@
|
|||
import org.junit.Test;
|
||||
|
||||
public class DirCacheCheckoutMaliciousPathTest extends RepositoryTestCase {
|
||||
|
||||
protected ObjectId theHead;
|
||||
protected ObjectId theMerge;
|
||||
|
||||
|
@ -230,8 +231,14 @@ public void testMaliciousPathDot() throws Exception {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void testMaliciousPathEmpty() throws Exception {
|
||||
((MockSystemReader) SystemReader.getInstance()).setCurrentPlatform();
|
||||
public void testMaliciousPathEmptyUnix() throws Exception {
|
||||
((MockSystemReader) SystemReader.getInstance()).setUnix();
|
||||
testMaliciousPathBadFirstCheckout("", "no");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMaliciousPathEmptyWindows() throws Exception {
|
||||
((MockSystemReader) SystemReader.getInstance()).setWindows();
|
||||
testMaliciousPathBadFirstCheckout("", "no");
|
||||
}
|
||||
|
||||
|
|
|
@ -1202,8 +1202,9 @@ private static boolean isValidPathSegment(CanonicalTreeParser t) {
|
|||
// Space or period at end of file name is ignored by Windows.
|
||||
// Treat this as a bad path for now. We may want to handle
|
||||
// this as case insensitivity in the future.
|
||||
if (raw[ptr - 1] == '.' || raw[ptr - 1] == ' ')
|
||||
return false;
|
||||
if (ptr > 0)
|
||||
if (raw[ptr - 1] == '.' || raw[ptr - 1] == ' ')
|
||||
return false;
|
||||
int i;
|
||||
// Bad names, eliminate suffix first
|
||||
for (i = start; i < ptr; ++i)
|
||||
|
|
Loading…
Reference in New Issue