Skip to content

Commit f12e45b

Browse files
committed
Swift: Delete the specific description, debugDescription models.
1 parent 4183fbe commit f12e45b

File tree

4 files changed

+12
-17
lines changed

4 files changed

+12
-17
lines changed

swift/ql/lib/codeql/swift/frameworks/StandardLibrary/FilePath.qll

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,11 +61,7 @@ private class FilePathFieldsInheritTaint extends TaintInheritingContent,
6161
FilePathFieldsInheritTaint() {
6262
exists(FieldDecl f | this.getField() = f |
6363
f.getEnclosingDecl().asNominalTypeDecl() instanceof FilePath and
64-
f.getName() =
65-
[
66-
"description", "debugDescription", "components", "extension", "lastComponent", "root",
67-
"stem", "string"
68-
]
64+
f.getName() = ["components", "extension", "lastComponent", "root", "stem", "string"]
6965
)
7066
}
7167
}

swift/ql/lib/codeql/swift/frameworks/StandardLibrary/String.qll

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -131,8 +131,8 @@ private class StringSummaries extends SummaryModelCsv {
131131
}
132132

133133
/**
134-
* A content implying that, if a `String` is tainted, then many of its fields are
135-
* tainted. This also includes fields declared in `StringProtocol`.
134+
* A content implying that, if a `String`, `StringProtocol` or related class is tainted, then many
135+
* of its fields are tainted.
136136
*/
137137
private class StringFieldsInheritTaint extends TaintInheritingContent,
138138
DataFlow::Content::FieldContent
@@ -141,12 +141,11 @@ private class StringFieldsInheritTaint extends TaintInheritingContent,
141141
this.getField()
142142
.hasQualifiedName(["String", "StringProtocol"],
143143
[
144-
"unicodeScalars", "utf8", "utf16", "lazy", "utf8CString", "description",
145-
"debugDescription", "dataValue", "identifierValue", "capitalized",
146-
"localizedCapitalized", "localizedLowercase", "localizedUppercase",
147-
"decomposedStringWithCanonicalMapping", "decomposedStringWithCompatibilityMapping",
148-
"precomposedStringWithCanonicalMapping", "precomposedStringWithCompatibilityMapping",
149-
"removingPercentEncoding"
144+
"unicodeScalars", "utf8", "utf16", "lazy", "utf8CString", "dataValue",
145+
"identifierValue", "capitalized", "localizedCapitalized", "localizedLowercase",
146+
"localizedUppercase", "decomposedStringWithCanonicalMapping",
147+
"decomposedStringWithCompatibilityMapping", "precomposedStringWithCanonicalMapping",
148+
"precomposedStringWithCompatibilityMapping", "removingPercentEncoding"
150149
])
151150
}
152151
}

swift/ql/test/library-tests/dataflow/taint/libraries/files.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -184,8 +184,8 @@ func test_files(e1: Encoder) {
184184

185185
// --- FilePath member variables ---
186186

187-
sink(string: tainted.description) // $ tainted=133
188-
sink(string: tainted.debugDescription) // $ tainted=133
187+
sink(string: tainted.description) // $ MISSING: tainted=133
188+
sink(string: tainted.debugDescription) // $ MISSING: tainted=133
189189
sink(string: tainted.extension!) // $ tainted=133
190190
sink(string: tainted.stem!) // $ tainted=133
191191
sink(string: tainted.string) // $ tainted=133

swift/ql/test/library-tests/dataflow/taint/libraries/string.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -272,9 +272,9 @@ func taintThroughSimpleStringOperations() {
272272
sink(arg: [tainted, tainted].joined()) // $ MISSING: tainted=217
273273

274274
sink(arg: clean.description)
275-
sink(arg: tainted.description) // $ tainted=217
275+
sink(arg: tainted.description) // $ MISSING: tainted=217
276276
sink(arg: clean.debugDescription)
277-
sink(arg: tainted.debugDescription) // $ tainted=217
277+
sink(arg: tainted.debugDescription) // $ MISSING: tainted=217
278278
sink(arg: clean.utf8)
279279
sink(arg: tainted.utf8) // $ tainted=217
280280
sink(arg: clean.utf16)

0 commit comments

Comments
 (0)