Skip to content

Commit 11c03fb

Browse files
committed
Add 'good' test cases
1 parent 85b3092 commit 11c03fb

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

swift/ql/test/query-tests/Security/CWE-946/predicateInjection.swift

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,18 @@ class NSPredicate {
2121

2222
func test() {
2323
let remoteString = String(contentsOf: URL(string: "http://example.com/")!)
24+
let safeString = "safe"
2425

2526
NSPredicate(format: remoteString, argumentArray: []) // $ hasPredicateInjection=23
27+
NSPredicate(format: safeString, argumentArray: []) // Safe
28+
NSPredicate(format: safeString, argumentArray: [remoteString]) // Safe
2629
NSPredicate(format: remoteString, arguments: CVaListPointer(_fromUnsafeMutablePointer: UnsafeMutablePointer(bitPattern: 0)!)) // $ hasPredicateInjection=23
30+
NSPredicate(format: safeString, arguments: CVaListPointer(_fromUnsafeMutablePointer: UnsafeMutablePointer(bitPattern: 0)!)) // Safe
2731
NSPredicate(format: remoteString) // $ hasPredicateInjection=23
32+
NSPredicate(format: safeString) // Safe
2833
NSPredicate(format: remoteString, "" as! CVarArg) // $ hasPredicateInjection=23
34+
NSPredicate(format: safeString, "" as! CVarArg) // Safe
35+
NSPredicate(format: safeString, remoteString as! CVarArg) // Safe
2936
NSPredicate(fromMetadataQueryString: remoteString) // $ hasPredicateInjection=23
37+
NSPredicate(fromMetadataQueryString: safeString) // Safe
3038
}

0 commit comments

Comments
 (0)