diff --git a/swift/ql/lib/codeql/swift/frameworks/StandardLibrary/RawRepresentable.qll b/swift/ql/lib/codeql/swift/frameworks/StandardLibrary/RawRepresentable.qll index 8d56ffb4dfd..bbd583a32a4 100644 --- a/swift/ql/lib/codeql/swift/frameworks/StandardLibrary/RawRepresentable.qll +++ b/swift/ql/lib/codeql/swift/frameworks/StandardLibrary/RawRepresentable.qll @@ -12,7 +12,11 @@ private import codeql.swift.dataflow.FlowSteps */ private class RawRepresentableSummaries extends SummaryModelCsv { override predicate row(string row) { - row = ";RawRepresentable;true;init(rawValue:);;;Argument[0];ReturnValue;taint" + row = + [ + ";RawRepresentable;true;init(rawValue:);;;Argument[0];ReturnValue;taint", + ";OptionSet;true;init(rawValue:);;;Argument[0];ReturnValue;taint" + ] } } diff --git a/swift/ql/lib/codeql/swift/frameworks/StandardLibrary/String.qll b/swift/ql/lib/codeql/swift/frameworks/StandardLibrary/String.qll index b773177f152..0642003923b 100644 --- a/swift/ql/lib/codeql/swift/frameworks/StandardLibrary/String.qll +++ b/swift/ql/lib/codeql/swift/frameworks/StandardLibrary/String.qll @@ -167,7 +167,7 @@ private class StringFieldsInheritTaint extends TaintInheritingContent, "precomposedStringWithCompatibilityMapping", "removingPercentEncoding" ] or - namedTypeDecl.getFullName() = "CustomStringConvertible" and + namedTypeDecl.getFullName() = ["CustomStringConvertible", "BinaryInteger"] and fieldDecl.getName() = "description" or namedTypeDecl.getFullName() = "CustomDebugStringConvertible" and diff --git a/swift/ql/test/library-tests/dataflow/taint/libraries/TaintInline.expected b/swift/ql/test/library-tests/dataflow/taint/libraries/TaintInline.expected index 5fcb458d4fc..8ec8033d086 100644 --- a/swift/ql/test/library-tests/dataflow/taint/libraries/TaintInline.expected +++ b/swift/ql/test/library-tests/dataflow/taint/libraries/TaintInline.expected @@ -1,5 +1,2 @@ testFailures -| optionset.swift:60:49:61:1 | // $ tainted=60\n | Missing result: tainted=60 | -| optionset.swift:65:58:66:1 | // $ tainted=65\n | Missing result: tainted=65 | -| string.swift:599:35:600:1 | // $ tainted=599\n | Missing result: tainted=599 | failures