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