Skip to content

Commit 911d30b

Browse files
committed
Swift: Proper query message.
1 parent 64d7296 commit 911d30b

File tree

2 files changed

+16
-5
lines changed

2 files changed

+16
-5
lines changed

swift/ql/src/queries/Security/CWE-135/StringLengthConflation.ql

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,17 @@ class StringLengthConflationConfiguration extends DataFlow::Configuration {
8181
}
8282
}
8383

84-
from StringLengthConflationConfiguration config, DataFlow::PathNode source, DataFlow::PathNode sink
85-
where config.hasFlowPath(source, sink)
86-
select sink.getNode(), source, sink, "RESULT"
84+
from
85+
StringLengthConflationConfiguration config, DataFlow::PathNode source, DataFlow::PathNode sink,
86+
string flowstate, string message
87+
where
88+
config.hasFlowPath(source, sink) and
89+
config.isSink(sink.getNode(), flowstate) and
90+
(
91+
flowstate = "String" and
92+
message = "This String length is used in an NSString, but it may not be equivalent."
93+
or
94+
flowstate = "NSString" and
95+
message = "This NSString length is used in a String, but it may not be equivalent."
96+
)
97+
select sink.getNode(), source, sink, message

swift/ql/test/query-tests/Security/CWE-135/StringLengthConflation.expected

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ nodes
44
| StringLengthConflation.swift:78:47:78:49 | .count | semmle.label | .count |
55
subpaths
66
#select
7-
| StringLengthConflation.swift:72:33:72:35 | .count | StringLengthConflation.swift:72:33:72:35 | .count | StringLengthConflation.swift:72:33:72:35 | .count | RESULT |
8-
| StringLengthConflation.swift:78:47:78:49 | .count | StringLengthConflation.swift:78:47:78:49 | .count | StringLengthConflation.swift:78:47:78:49 | .count | RESULT |
7+
| StringLengthConflation.swift:72:33:72:35 | .count | StringLengthConflation.swift:72:33:72:35 | .count | StringLengthConflation.swift:72:33:72:35 | .count | This String length is used in an NSString, but it may not be equivalent. |
8+
| StringLengthConflation.swift:78:47:78:49 | .count | StringLengthConflation.swift:78:47:78:49 | .count | StringLengthConflation.swift:78:47:78:49 | .count | This String length is used in an NSString, but it may not be equivalent. |

0 commit comments

Comments
 (0)