Skip to content

Commit 8706d4f

Browse files
committed
unified: Implement Copilot suggestion.
1 parent b7b57b2 commit 8706d4f

3 files changed

Lines changed: 5 additions & 2 deletions

File tree

‎unified/ql/src/queries/security/CWE-089/SqlInjection.ql‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ private predicate sqliteSwiftSink(DataFlow::Node node) {
1818
exists(CallExpr call, FunctionDeclaration target |
1919
target = TypeInference::resolveCallTarget(call) and
2020
target.getEnclosingClass().getName() = "Connection" and
21-
target.getName() = ["run", "scalar"] and
21+
target.getName() = ["prepare", "run", "scalar"] and
2222
node.asExpr() = call.getArgument(0).getValue()
2323
)
2424
}

‎unified/ql/test/query-tests/security/CWE-089/SqlInjection/SQLite.swift‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ func test_sqlite_swift_api(db: Connection) throws {
103103
let stmt6 = try db.prepare(unsafeQuery1, "") // $ Alert
104104
try stmt6.run()
105105

106-
let stmt6b = try db.prepare(unsafeQuery1, "", "") // $ MISSING: Alert
106+
let stmt6b = try db.prepare(unsafeQuery1, "", "") // $ Alert
107107
try stmt6b.run()
108108

109109
let stmt7 = try db.prepare(unsafeQuery1, [""]) // $ Alert

‎unified/ql/test/query-tests/security/CWE-089/SqlInjection/SqlInjection.expected‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@
8888
| SQLite.swift:83:29:83:40 | unsafeQuery3 | SQLite.swift:62:25:62:79 | String(...) | SQLite.swift:83:29:83:40 | unsafeQuery3 | This query depends on a $@. | SQLite.swift:62:25:62:79 | String(...) | user-provided value |
8989
| SQLite.swift:98:32:98:43 | remoteString | SQLite.swift:62:25:62:79 | String(...) | SQLite.swift:98:32:98:43 | remoteString | This query depends on a $@. | SQLite.swift:62:25:62:79 | String(...) | user-provided value |
9090
| SQLite.swift:103:29:103:40 | unsafeQuery1 | SQLite.swift:62:25:62:79 | String(...) | SQLite.swift:103:29:103:40 | unsafeQuery1 | This query depends on a $@. | SQLite.swift:62:25:62:79 | String(...) | user-provided value |
91+
| SQLite.swift:106:30:106:41 | unsafeQuery1 | SQLite.swift:62:25:62:79 | String(...) | SQLite.swift:106:30:106:41 | unsafeQuery1 | This query depends on a $@. | SQLite.swift:62:25:62:79 | String(...) | user-provided value |
9192
| SQLite.swift:109:29:109:40 | unsafeQuery1 | SQLite.swift:62:25:62:79 | String(...) | SQLite.swift:109:29:109:40 | unsafeQuery1 | This query depends on a $@. | SQLite.swift:62:25:62:79 | String(...) | user-provided value |
9293
| SQLite.swift:112:29:112:40 | unsafeQuery1 | SQLite.swift:62:25:62:79 | String(...) | SQLite.swift:112:29:112:40 | unsafeQuery1 | This query depends on a $@. | SQLite.swift:62:25:62:79 | String(...) | user-provided value |
9394
| SQLite.swift:115:13:115:24 | unsafeQuery1 | SQLite.swift:62:25:62:79 | String(...) | SQLite.swift:115:13:115:24 | unsafeQuery1 | This query depends on a $@. | SQLite.swift:62:25:62:79 | String(...) | user-provided value |
@@ -229,6 +230,7 @@ edges
229230
| SQLite.swift:62:25:62:79 | String(...) | SQLite.swift:62:6:62:17 | remoteString | provenance | |
230231
| SQLite.swift:65:6:65:17 | unsafeQuery1 | SQLite.swift:73:17:73:28 | unsafeQuery1 | provenance | |
231232
| SQLite.swift:65:6:65:17 | unsafeQuery1 | SQLite.swift:103:29:103:40 | unsafeQuery1 | provenance | |
233+
| SQLite.swift:65:6:65:17 | unsafeQuery1 | SQLite.swift:106:30:106:41 | unsafeQuery1 | provenance | |
232234
| SQLite.swift:65:6:65:17 | unsafeQuery1 | SQLite.swift:109:29:109:40 | unsafeQuery1 | provenance | |
233235
| SQLite.swift:65:6:65:17 | unsafeQuery1 | SQLite.swift:112:29:112:40 | unsafeQuery1 | provenance | |
234236
| SQLite.swift:65:6:65:17 | unsafeQuery1 | SQLite.swift:115:13:115:24 | unsafeQuery1 | provenance | |
@@ -408,6 +410,7 @@ nodes
408410
| SQLite.swift:83:29:83:40 | unsafeQuery3 | semmle.label | unsafeQuery3 |
409411
| SQLite.swift:98:32:98:43 | remoteString | semmle.label | remoteString |
410412
| SQLite.swift:103:29:103:40 | unsafeQuery1 | semmle.label | unsafeQuery1 |
413+
| SQLite.swift:106:30:106:41 | unsafeQuery1 | semmle.label | unsafeQuery1 |
411414
| SQLite.swift:109:29:109:40 | unsafeQuery1 | semmle.label | unsafeQuery1 |
412415
| SQLite.swift:112:29:112:40 | unsafeQuery1 | semmle.label | unsafeQuery1 |
413416
| SQLite.swift:115:13:115:24 | unsafeQuery1 | semmle.label | unsafeQuery1 |

0 commit comments

Comments
 (0)