mirror of
https://github.com/github/codeql.git
synced 2026-05-05 05:35:13 +02:00
Swift: Generalize 'write' models.
This commit is contained in:
@@ -20,6 +20,7 @@ private import Numeric
|
||||
private import PointerTypes
|
||||
private import Sequence
|
||||
private import Set
|
||||
private import Stream
|
||||
private import String
|
||||
private import Url
|
||||
private import UrlSession
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
/**
|
||||
* Provides models for `TextOutputStream` and related Swift classes.
|
||||
*/
|
||||
|
||||
import swift
|
||||
private import codeql.swift.dataflow.ExternalFlow
|
||||
|
||||
/**
|
||||
* A model for members of `TextOutputStream` and similar classes that permit taint flow.
|
||||
*/
|
||||
private class StringSummaries extends SummaryModelCsv {
|
||||
override predicate row(string row) {
|
||||
row =
|
||||
[
|
||||
";TextOutputStream;true;write(_:);;;Argument[0];Argument[-1];taint",
|
||||
";TextOutputStreamable;true;write(to:);;;Argument[-1];Argument[0];taint",
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -111,8 +111,6 @@ private class StringSummaries extends SummaryModelCsv {
|
||||
";String;true;init(validatingPlatformString:);;;Argument[0].CollectionElement;ReturnValue.OptionalSome;taint",
|
||||
";String;true;localizedStringWithFormat(_:_:);;;Argument[0];ReturnValue;taint",
|
||||
";String;true;localizedStringWithFormat(_:_:);;;Argument[1].CollectionElement;ReturnValue;taint",
|
||||
";String;true;write(_:);;;Argument[0];Argument[-1];taint",
|
||||
";String;true;write(to:);;;Argument[-1];Argument[0];taint",
|
||||
";String;true;insert(contentsOf:at:);;;Argument[0];Argument[-1];taint",
|
||||
";String;true;replaceSubrange(_:with:);;;Argument[1];Argument[-1];taint",
|
||||
";String;true;max();;;Argument[-1];ReturnValue;taint",
|
||||
|
||||
Reference in New Issue
Block a user