Add test for File.startsWith

This commit is contained in:
Tony Torralba
2022-12-05 11:52:50 +01:00
parent 71a6b09bad
commit 47d61e0b4d

View File

@@ -106,7 +106,18 @@ class TestKt {
} }
run { run {
val source: File? = source() as File? val source: File? = source() as File?
val normalized: File = source!!.canonicalFile.toString() val normalized: File = source!!.canonicalFile
if (normalized.startsWith("/safe")) {
sink(source) // Safe
sink(normalized) // Safe
} else {
sink(source) // $ hasTaintFlow
sink(normalized) // $ hasTaintFlow
}
}
run {
val source: File? = source() as File?
val normalized: String = source!!.canonicalFile.toString()
if (normalized.startsWith("/safe")) { if (normalized.startsWith("/safe")) {
sink(source) // Safe sink(source) // Safe
sink(normalized) // Safe sink(normalized) // Safe
@@ -337,6 +348,17 @@ class TestKt {
sink(normalized) // $ hasTaintFlow sink(normalized) // $ hasTaintFlow
} }
} }
run {
val source: File? = source() as File?
val normalized: File = source!!.canonicalFile
if (!normalized.startsWith("/data")) {
sink(source) // Safe
sink(normalized) // Safe
} else {
sink(source) // $ hasTaintFlow
sink(normalized) // $ hasTaintFlow
}
}
run { run {
val source: File? = source() as File? val source: File? = source() as File?
val normalized: String = source!!.canonicalFile.toString() val normalized: String = source!!.canonicalFile.toString()