diff --git a/swift/ql/lib/codeql/swift/frameworks/StandardLibrary/String.qll b/swift/ql/lib/codeql/swift/frameworks/StandardLibrary/String.qll index 3640eca6a97..cf9b73d05ab 100644 --- a/swift/ql/lib/codeql/swift/frameworks/StandardLibrary/String.qll +++ b/swift/ql/lib/codeql/swift/frameworks/StandardLibrary/String.qll @@ -58,8 +58,8 @@ private class StringSummaries extends SummaryModelCsv { ";StringProtocol;true;propertyListFromStringsFileFormat();;;Argument[-1];ReturnValue;taint", ";StringProtocol;true;replacingCharacters(in:with:);;;Argument[-1];ReturnValue;taint", ";StringProtocol;true;replacingCharacters(in:with:);;;Argument[1];ReturnValue;taint", - ";StringProtocol;true;replacingOccurrences(of:with:options:range);;;Argument[-1];ReturnValue;taint", - ";StringProtocol;true;replacingOccurrences(of:with:options:range);;;Argument[1];ReturnValue;taint", + ";StringProtocol;true;replacingOccurrences(of:with:options:range:);;;Argument[-1];ReturnValue;taint", + ";StringProtocol;true;replacingOccurrences(of:with:options:range:);;;Argument[1];ReturnValue;taint", ";StringProtocol;true;replacingPercentEscapes(using:);;;Argument[-1];ReturnValue;taint", ";StringProtocol;true;substring(from:);;;Argument[-1];ReturnValue;taint", ";StringProtocol;true;substring(with:);;;Argument[-1];ReturnValue;taint", @@ -79,7 +79,7 @@ private class StringSummaries extends SummaryModelCsv { ";String;true;init(format:locale:arguments:);;;Argument[0];ReturnValue;taint", ";String;true;init(_:radix:uppercase:);;;Argument[0];ReturnValue;taint", ";String;true;init(bytes:encoding:);;;Argument[0];ReturnValue;taint", - ";String;true;init(bytesNoCopy:length:encoding:freeWhenDone);;;Argument[0];ReturnValue;taint", + ";String;true;init(bytesNoCopy:length:encoding:freeWhenDone:);;;Argument[0];ReturnValue;taint", ";String;true;init(describing:);;;Argument[0];ReturnValue;taint", ";String;true;init(contentsOf:);;;Argument[0];ReturnValue;taint", ";String;true;init(contentsOf:encoding:);;;Argument[0];ReturnValue;taint", @@ -101,7 +101,7 @@ private class StringSummaries extends SummaryModelCsv { ";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;replaceSubrange(_:with:);;;Argument[1];Argument[-1];taint", ";String;true;max();;;Argument[-1];ReturnValue;taint", ";String;true;max(by:);;;Argument[-1];ReturnValue;taint", ";String;true;min();;;Argument[-1];ReturnValue;taint", diff --git a/swift/ql/test/library-tests/dataflow/taint/LocalTaint.expected b/swift/ql/test/library-tests/dataflow/taint/LocalTaint.expected index 05b72586dac..951def0fd91 100644 --- a/swift/ql/test/library-tests/dataflow/taint/LocalTaint.expected +++ b/swift/ql/test/library-tests/dataflow/taint/LocalTaint.expected @@ -697,296 +697,218 @@ | string.swift:84:38:84:38 | &... | string.swift:84:3:84:50 | self[return] | | string.swift:84:38:84:38 | [post] &... | string.swift:84:3:84:50 | self[return] | | string.swift:84:38:84:38 | self | string.swift:84:38:84:38 | &... | -| string.swift:88:29:88:29 | SSA def(self) | string.swift:88:29:88:38 | self[return] | -| string.swift:88:29:88:29 | self | string.swift:88:29:88:29 | SSA def(self) | -| string.swift:89:38:89:38 | SSA def(self) | string.swift:89:38:89:47 | self[return] | -| string.swift:89:38:89:38 | self | string.swift:89:38:89:38 | SSA def(self) | -| string.swift:90:36:90:36 | SSA def(self) | string.swift:90:36:90:45 | self[return] | -| string.swift:90:36:90:36 | self | string.swift:90:36:90:36 | SSA def(self) | -| string.swift:91:36:91:36 | SSA def(self) | string.swift:91:36:91:45 | self[return] | -| string.swift:91:36:91:36 | self | string.swift:91:36:91:36 | SSA def(self) | -| string.swift:92:42:92:42 | SSA def(self) | string.swift:92:42:92:51 | self[return] | -| string.swift:92:42:92:42 | self | string.swift:92:42:92:42 | SSA def(self) | -| string.swift:93:54:93:54 | SSA def(self) | string.swift:93:54:93:63 | self[return] | -| string.swift:93:54:93:54 | self | string.swift:93:54:93:54 | SSA def(self) | -| string.swift:94:58:94:58 | SSA def(self) | string.swift:94:58:94:67 | self[return] | -| string.swift:94:58:94:58 | self | string.swift:94:58:94:58 | SSA def(self) | -| string.swift:95:55:95:55 | SSA def(self) | string.swift:95:55:95:64 | self[return] | -| string.swift:95:55:95:55 | self | string.swift:95:55:95:55 | SSA def(self) | -| string.swift:96:59:96:59 | SSA def(self) | string.swift:96:59:96:68 | self[return] | -| string.swift:96:59:96:59 | self | string.swift:96:59:96:59 | SSA def(self) | -| string.swift:98:8:98:8 | SSA def(self) | string.swift:98:3:98:63 | self[return] | -| string.swift:98:8:98:8 | self | string.swift:98:8:98:8 | SSA def(self) | -| string.swift:99:8:99:8 | SSA def(self) | string.swift:99:3:99:63 | self[return] | -| string.swift:99:8:99:8 | self | string.swift:99:8:99:8 | SSA def(self) | -| string.swift:100:8:100:8 | SSA def(self) | string.swift:100:3:100:64 | self[return] | -| string.swift:100:8:100:8 | self | string.swift:100:8:100:8 | SSA def(self) | -| string.swift:101:8:101:8 | SSA def(self) | string.swift:101:3:101:64 | self[return] | +| string.swift:86:17:86:17 | SSA def(self) | string.swift:86:12:87:51 | self[return] | +| string.swift:86:17:86:17 | self | string.swift:86:17:86:17 | SSA def(self) | +| string.swift:91:29:91:29 | SSA def(self) | string.swift:91:29:91:38 | self[return] | +| string.swift:91:29:91:29 | self | string.swift:91:29:91:29 | SSA def(self) | +| string.swift:92:38:92:38 | SSA def(self) | string.swift:92:38:92:47 | self[return] | +| string.swift:92:38:92:38 | self | string.swift:92:38:92:38 | SSA def(self) | +| string.swift:93:36:93:36 | SSA def(self) | string.swift:93:36:93:45 | self[return] | +| string.swift:93:36:93:36 | self | string.swift:93:36:93:36 | SSA def(self) | +| string.swift:94:36:94:36 | SSA def(self) | string.swift:94:36:94:45 | self[return] | +| string.swift:94:36:94:36 | self | string.swift:94:36:94:36 | SSA def(self) | +| string.swift:95:42:95:42 | SSA def(self) | string.swift:95:42:95:51 | self[return] | +| string.swift:95:42:95:42 | self | string.swift:95:42:95:42 | SSA def(self) | +| string.swift:96:54:96:54 | SSA def(self) | string.swift:96:54:96:63 | self[return] | +| string.swift:96:54:96:54 | self | string.swift:96:54:96:54 | SSA def(self) | +| string.swift:97:58:97:58 | SSA def(self) | string.swift:97:58:97:67 | self[return] | +| string.swift:97:58:97:58 | self | string.swift:97:58:97:58 | SSA def(self) | +| string.swift:98:55:98:55 | SSA def(self) | string.swift:98:55:98:64 | self[return] | +| string.swift:98:55:98:55 | self | string.swift:98:55:98:55 | SSA def(self) | +| string.swift:99:59:99:59 | SSA def(self) | string.swift:99:59:99:68 | self[return] | +| string.swift:99:59:99:59 | self | string.swift:99:59:99:59 | SSA def(self) | +| string.swift:101:8:101:8 | SSA def(self) | string.swift:101:3:101:63 | self[return] | | string.swift:101:8:101:8 | self | string.swift:101:8:101:8 | SSA def(self) | -| string.swift:102:8:102:8 | SSA def(self) | string.swift:102:3:102:71 | self[return] | +| string.swift:102:8:102:8 | SSA def(self) | string.swift:102:3:102:63 | self[return] | | string.swift:102:8:102:8 | self | string.swift:102:8:102:8 | SSA def(self) | -| string.swift:103:8:103:8 | SSA def(self) | string.swift:103:3:103:82 | self[return] | +| string.swift:103:8:103:8 | SSA def(self) | string.swift:103:3:103:64 | self[return] | | string.swift:103:8:103:8 | self | string.swift:103:8:103:8 | SSA def(self) | -| string.swift:104:8:104:8 | SSA def(self) | string.swift:104:3:104:138 | self[return] | +| string.swift:104:8:104:8 | SSA def(self) | string.swift:104:3:104:64 | self[return] | | string.swift:104:8:104:8 | self | string.swift:104:8:104:8 | SSA def(self) | -| string.swift:105:8:105:8 | SSA def(self) | string.swift:105:3:105:80 | self[return] | +| string.swift:105:8:105:8 | SSA def(self) | string.swift:105:3:105:71 | self[return] | | string.swift:105:8:105:8 | self | string.swift:105:8:105:8 | SSA def(self) | -| string.swift:106:8:106:8 | SSA def(self) | string.swift:106:3:106:92 | self[return] | +| string.swift:106:8:106:8 | SSA def(self) | string.swift:106:3:106:82 | self[return] | | string.swift:106:8:106:8 | self | string.swift:106:8:106:8 | SSA def(self) | -| string.swift:107:8:107:8 | SSA def(self) | string.swift:107:3:107:78 | self[return] | +| string.swift:107:8:107:8 | SSA def(self) | string.swift:107:3:107:138 | self[return] | | string.swift:107:8:107:8 | self | string.swift:107:8:107:8 | SSA def(self) | -| string.swift:108:8:108:8 | SSA def(self) | string.swift:108:3:108:74 | self[return] | +| string.swift:108:8:108:8 | SSA def(self) | string.swift:108:3:108:80 | self[return] | | string.swift:108:8:108:8 | self | string.swift:108:8:108:8 | SSA def(self) | -| string.swift:109:8:109:8 | SSA def(self) | string.swift:109:3:109:79 | self[return] | +| string.swift:109:8:109:8 | SSA def(self) | string.swift:109:3:109:92 | self[return] | | string.swift:109:8:109:8 | self | string.swift:109:8:109:8 | SSA def(self) | -| string.swift:112:7:112:7 | SSA def(self) | string.swift:112:7:112:7 | self[return] | -| string.swift:112:7:112:7 | self | string.swift:112:7:112:7 | SSA def(self) | -| string.swift:114:5:114:5 | SSA def(self) | string.swift:114:5:114:29 | self[return] | -| string.swift:114:5:114:5 | self | string.swift:114:5:114:5 | SSA def(self) | -| string.swift:120:32:120:32 | SSA def(self) | string.swift:120:32:120:47 | self[return] | -| string.swift:120:32:120:32 | self | string.swift:120:32:120:32 | SSA def(self) | -| string.swift:121:30:121:30 | SSA def(self) | string.swift:121:30:121:45 | self[return] | -| string.swift:121:30:121:30 | self | string.swift:121:30:121:30 | SSA def(self) | -| string.swift:122:43:122:43 | SSA def(self) | string.swift:122:43:122:58 | self[return] | -| string.swift:122:43:122:43 | self | string.swift:122:43:122:43 | SSA def(self) | -| string.swift:123:8:123:8 | SSA def(self) | string.swift:123:3:123:60 | self[return] | -| string.swift:123:8:123:8 | self | string.swift:123:8:123:8 | SSA def(self) | -| string.swift:132:7:132:7 | SSA def(x) | string.swift:134:16:134:16 | x | -| string.swift:132:11:132:18 | call to source() | string.swift:132:7:132:7 | SSA def(x) | -| string.swift:134:13:134:13 | | string.swift:134:13:134:13 | [post] | -| string.swift:134:13:134:13 | | string.swift:134:14:134:14 | [post] &... | -| string.swift:134:13:134:13 | SSA def($interpolation) | string.swift:134:14:134:14 | SSA phi($interpolation) | -| string.swift:134:13:134:13 | TapExpr | string.swift:134:13:134:13 | "..." | -| string.swift:134:14:134:14 | $interpolation | string.swift:134:14:134:14 | &... | -| string.swift:134:14:134:14 | &... | string.swift:134:13:134:13 | [post] | -| string.swift:134:14:134:14 | &... | string.swift:134:14:134:14 | [post] &... | -| string.swift:134:14:134:14 | &... | string.swift:134:15:134:15 | $interpolation | -| string.swift:134:14:134:14 | SSA phi($interpolation) | string.swift:134:14:134:14 | $interpolation | -| string.swift:134:14:134:14 | [post] &... | string.swift:134:15:134:15 | $interpolation | -| string.swift:134:15:134:15 | $interpolation | string.swift:134:15:134:15 | &... | -| string.swift:134:15:134:15 | &... | string.swift:134:15:134:15 | [post] &... | -| string.swift:134:15:134:15 | &... | string.swift:134:16:134:16 | [post] x | -| string.swift:134:15:134:15 | &... | string.swift:134:18:134:18 | $interpolation | -| string.swift:134:15:134:15 | [post] &... | string.swift:134:18:134:18 | $interpolation | -| string.swift:134:16:134:16 | [post] x | string.swift:136:16:136:16 | x | -| string.swift:134:16:134:16 | x | string.swift:134:15:134:15 | [post] &... | -| string.swift:134:16:134:16 | x | string.swift:134:16:134:16 | [post] x | -| string.swift:134:16:134:16 | x | string.swift:136:16:136:16 | x | -| string.swift:134:18:134:18 | | string.swift:134:18:134:18 | [post] | -| string.swift:134:18:134:18 | | string.swift:134:18:134:18 | [post] &... | -| string.swift:134:18:134:18 | $interpolation | string.swift:134:18:134:18 | &... | -| string.swift:134:18:134:18 | &... | string.swift:134:13:134:13 | TapExpr | -| string.swift:134:18:134:18 | &... | string.swift:134:18:134:18 | [post] | -| string.swift:134:18:134:18 | &... | string.swift:134:18:134:18 | [post] &... | -| string.swift:134:18:134:18 | [post] &... | string.swift:134:13:134:13 | TapExpr | -| string.swift:136:13:136:13 | | string.swift:136:13:136:13 | [post] | -| string.swift:136:13:136:13 | | string.swift:136:14:136:14 | [post] &... | -| string.swift:136:13:136:13 | SSA def($interpolation) | string.swift:136:14:136:14 | SSA phi($interpolation) | -| string.swift:136:13:136:13 | TapExpr | string.swift:136:13:136:13 | "..." | -| string.swift:136:14:136:14 | $interpolation | string.swift:136:14:136:14 | &... | -| string.swift:136:14:136:14 | &... | string.swift:136:13:136:13 | [post] | -| string.swift:136:14:136:14 | &... | string.swift:136:14:136:14 | [post] &... | -| string.swift:136:14:136:14 | &... | string.swift:136:15:136:15 | $interpolation | -| string.swift:136:14:136:14 | SSA phi($interpolation) | string.swift:136:14:136:14 | $interpolation | -| string.swift:136:14:136:14 | [post] &... | string.swift:136:15:136:15 | $interpolation | -| string.swift:136:15:136:15 | $interpolation | string.swift:136:15:136:15 | &... | -| string.swift:136:15:136:15 | &... | string.swift:136:15:136:15 | [post] &... | -| string.swift:136:15:136:15 | &... | string.swift:136:16:136:16 | [post] x | -| string.swift:136:15:136:15 | &... | string.swift:136:18:136:18 | $interpolation | -| string.swift:136:15:136:15 | [post] &... | string.swift:136:18:136:18 | $interpolation | -| string.swift:136:16:136:16 | [post] x | string.swift:136:21:136:21 | x | -| string.swift:136:16:136:16 | x | string.swift:136:15:136:15 | [post] &... | -| string.swift:136:16:136:16 | x | string.swift:136:16:136:16 | [post] x | -| string.swift:136:16:136:16 | x | string.swift:136:21:136:21 | x | -| string.swift:136:18:136:18 | | string.swift:136:18:136:18 | [post] | -| string.swift:136:18:136:18 | | string.swift:136:18:136:18 | [post] &... | -| string.swift:136:18:136:18 | $interpolation | string.swift:136:18:136:18 | &... | -| string.swift:136:18:136:18 | &... | string.swift:136:18:136:18 | [post] | -| string.swift:136:18:136:18 | &... | string.swift:136:18:136:18 | [post] &... | -| string.swift:136:18:136:18 | &... | string.swift:136:20:136:20 | $interpolation | -| string.swift:136:18:136:18 | [post] &... | string.swift:136:20:136:20 | $interpolation | -| string.swift:136:20:136:20 | $interpolation | string.swift:136:20:136:20 | &... | -| string.swift:136:20:136:20 | &... | string.swift:136:20:136:20 | [post] &... | -| string.swift:136:20:136:20 | &... | string.swift:136:21:136:21 | [post] x | -| string.swift:136:20:136:20 | &... | string.swift:136:23:136:23 | $interpolation | -| string.swift:136:20:136:20 | [post] &... | string.swift:136:23:136:23 | $interpolation | -| string.swift:136:21:136:21 | [post] x | string.swift:138:16:138:16 | x | -| string.swift:136:21:136:21 | x | string.swift:136:20:136:20 | [post] &... | -| string.swift:136:21:136:21 | x | string.swift:136:21:136:21 | [post] x | -| string.swift:136:21:136:21 | x | string.swift:138:16:138:16 | x | -| string.swift:136:23:136:23 | | string.swift:136:23:136:23 | [post] | -| string.swift:136:23:136:23 | | string.swift:136:23:136:23 | [post] &... | -| string.swift:136:23:136:23 | $interpolation | string.swift:136:23:136:23 | &... | -| string.swift:136:23:136:23 | &... | string.swift:136:13:136:13 | TapExpr | -| string.swift:136:23:136:23 | &... | string.swift:136:23:136:23 | [post] | -| string.swift:136:23:136:23 | &... | string.swift:136:23:136:23 | [post] &... | -| string.swift:136:23:136:23 | [post] &... | string.swift:136:13:136:13 | TapExpr | -| string.swift:138:13:138:13 | | string.swift:138:13:138:13 | [post] | -| string.swift:138:13:138:13 | | string.swift:138:14:138:14 | [post] &... | -| string.swift:138:13:138:13 | SSA def($interpolation) | string.swift:138:14:138:14 | SSA phi($interpolation) | -| string.swift:138:13:138:13 | TapExpr | string.swift:138:13:138:13 | "..." | -| string.swift:138:14:138:14 | $interpolation | string.swift:138:14:138:14 | &... | -| string.swift:138:14:138:14 | &... | string.swift:138:13:138:13 | [post] | -| string.swift:138:14:138:14 | &... | string.swift:138:14:138:14 | [post] &... | -| string.swift:138:14:138:14 | &... | string.swift:138:15:138:15 | $interpolation | -| string.swift:138:14:138:14 | SSA phi($interpolation) | string.swift:138:14:138:14 | $interpolation | -| string.swift:138:14:138:14 | [post] &... | string.swift:138:15:138:15 | $interpolation | -| string.swift:138:15:138:15 | $interpolation | string.swift:138:15:138:15 | &... | -| string.swift:138:15:138:15 | &... | string.swift:138:15:138:15 | [post] &... | -| string.swift:138:15:138:15 | &... | string.swift:138:16:138:16 | [post] x | -| string.swift:138:15:138:15 | &... | string.swift:138:18:138:18 | $interpolation | -| string.swift:138:15:138:15 | [post] &... | string.swift:138:18:138:18 | $interpolation | -| string.swift:138:16:138:16 | [post] x | string.swift:138:26:138:26 | x | -| string.swift:138:16:138:16 | x | string.swift:138:15:138:15 | [post] &... | -| string.swift:138:16:138:16 | x | string.swift:138:16:138:16 | [post] x | -| string.swift:138:16:138:16 | x | string.swift:138:26:138:26 | x | -| string.swift:138:18:138:18 | | string.swift:138:18:138:18 | [post] | -| string.swift:138:18:138:18 | | string.swift:138:18:138:18 | [post] &... | -| string.swift:138:18:138:18 | $interpolation | string.swift:138:18:138:18 | &... | -| string.swift:138:18:138:18 | &... | string.swift:138:18:138:18 | [post] | -| string.swift:138:18:138:18 | &... | string.swift:138:18:138:18 | [post] &... | -| string.swift:138:18:138:18 | &... | string.swift:138:20:138:20 | $interpolation | -| string.swift:138:18:138:18 | [post] &... | string.swift:138:20:138:20 | $interpolation | -| string.swift:138:20:138:20 | $interpolation | string.swift:138:20:138:20 | &... | -| string.swift:138:20:138:20 | &... | string.swift:138:20:138:20 | [post] &... | -| string.swift:138:20:138:20 | &... | string.swift:138:21:138:21 | [post] 0 | -| string.swift:138:20:138:20 | &... | string.swift:138:23:138:23 | $interpolation | -| string.swift:138:20:138:20 | [post] &... | string.swift:138:23:138:23 | $interpolation | -| string.swift:138:21:138:21 | 0 | string.swift:138:20:138:20 | [post] &... | -| string.swift:138:21:138:21 | 0 | string.swift:138:21:138:21 | [post] 0 | -| string.swift:138:23:138:23 | | string.swift:138:23:138:23 | [post] | -| string.swift:138:23:138:23 | | string.swift:138:23:138:23 | [post] &... | -| string.swift:138:23:138:23 | $interpolation | string.swift:138:23:138:23 | &... | -| string.swift:138:23:138:23 | &... | string.swift:138:23:138:23 | [post] | -| string.swift:138:23:138:23 | &... | string.swift:138:23:138:23 | [post] &... | -| string.swift:138:23:138:23 | &... | string.swift:138:25:138:25 | $interpolation | -| string.swift:138:23:138:23 | [post] &... | string.swift:138:25:138:25 | $interpolation | -| string.swift:138:25:138:25 | $interpolation | string.swift:138:25:138:25 | &... | -| string.swift:138:25:138:25 | &... | string.swift:138:25:138:25 | [post] &... | -| string.swift:138:25:138:25 | &... | string.swift:138:26:138:26 | [post] x | -| string.swift:138:25:138:25 | &... | string.swift:138:28:138:28 | $interpolation | -| string.swift:138:25:138:25 | [post] &... | string.swift:138:28:138:28 | $interpolation | -| string.swift:138:26:138:26 | [post] x | string.swift:144:16:144:16 | x | -| string.swift:138:26:138:26 | x | string.swift:138:25:138:25 | [post] &... | -| string.swift:138:26:138:26 | x | string.swift:138:26:138:26 | [post] x | -| string.swift:138:26:138:26 | x | string.swift:144:16:144:16 | x | -| string.swift:138:28:138:28 | | string.swift:138:28:138:28 | [post] | -| string.swift:138:28:138:28 | | string.swift:138:28:138:28 | [post] &... | -| string.swift:138:28:138:28 | $interpolation | string.swift:138:28:138:28 | &... | -| string.swift:138:28:138:28 | &... | string.swift:138:13:138:13 | TapExpr | -| string.swift:138:28:138:28 | &... | string.swift:138:28:138:28 | [post] | -| string.swift:138:28:138:28 | &... | string.swift:138:28:138:28 | [post] &... | -| string.swift:138:28:138:28 | [post] &... | string.swift:138:13:138:13 | TapExpr | -| string.swift:140:7:140:7 | SSA def(y) | string.swift:142:16:142:16 | y | -| string.swift:140:11:140:11 | 42 | string.swift:140:7:140:7 | SSA def(y) | -| string.swift:142:13:142:13 | | string.swift:142:13:142:13 | [post] | -| string.swift:142:13:142:13 | | string.swift:142:14:142:14 | [post] &... | -| string.swift:142:13:142:13 | SSA def($interpolation) | string.swift:142:14:142:14 | SSA phi($interpolation) | -| string.swift:142:13:142:13 | TapExpr | string.swift:142:13:142:13 | "..." | -| string.swift:142:14:142:14 | $interpolation | string.swift:142:14:142:14 | &... | -| string.swift:142:14:142:14 | &... | string.swift:142:13:142:13 | [post] | -| string.swift:142:14:142:14 | &... | string.swift:142:14:142:14 | [post] &... | -| string.swift:142:14:142:14 | &... | string.swift:142:15:142:15 | $interpolation | -| string.swift:142:14:142:14 | SSA phi($interpolation) | string.swift:142:14:142:14 | $interpolation | -| string.swift:142:14:142:14 | [post] &... | string.swift:142:15:142:15 | $interpolation | -| string.swift:142:15:142:15 | $interpolation | string.swift:142:15:142:15 | &... | -| string.swift:142:15:142:15 | &... | string.swift:142:15:142:15 | [post] &... | -| string.swift:142:15:142:15 | &... | string.swift:142:16:142:16 | [post] y | -| string.swift:142:15:142:15 | &... | string.swift:142:18:142:18 | $interpolation | -| string.swift:142:15:142:15 | [post] &... | string.swift:142:18:142:18 | $interpolation | -| string.swift:142:16:142:16 | [post] y | string.swift:144:27:144:27 | y | -| string.swift:142:16:142:16 | y | string.swift:142:15:142:15 | [post] &... | -| string.swift:142:16:142:16 | y | string.swift:142:16:142:16 | [post] y | -| string.swift:142:16:142:16 | y | string.swift:144:27:144:27 | y | -| string.swift:142:18:142:18 | | string.swift:142:18:142:18 | [post] | -| string.swift:142:18:142:18 | | string.swift:142:18:142:18 | [post] &... | -| string.swift:142:18:142:18 | $interpolation | string.swift:142:18:142:18 | &... | -| string.swift:142:18:142:18 | &... | string.swift:142:13:142:13 | TapExpr | -| string.swift:142:18:142:18 | &... | string.swift:142:18:142:18 | [post] | -| string.swift:142:18:142:18 | &... | string.swift:142:18:142:18 | [post] &... | -| string.swift:142:18:142:18 | [post] &... | string.swift:142:13:142:13 | TapExpr | -| string.swift:144:13:144:13 | | string.swift:144:13:144:13 | [post] | -| string.swift:144:13:144:13 | | string.swift:144:14:144:14 | [post] &... | -| string.swift:144:13:144:13 | SSA def($interpolation) | string.swift:144:14:144:14 | SSA phi($interpolation) | -| string.swift:144:13:144:13 | TapExpr | string.swift:144:13:144:13 | "..." | -| string.swift:144:14:144:14 | $interpolation | string.swift:144:14:144:14 | &... | -| string.swift:144:14:144:14 | &... | string.swift:144:13:144:13 | [post] | -| string.swift:144:14:144:14 | &... | string.swift:144:14:144:14 | [post] &... | -| string.swift:144:14:144:14 | &... | string.swift:144:15:144:15 | $interpolation | -| string.swift:144:14:144:14 | SSA phi($interpolation) | string.swift:144:14:144:14 | $interpolation | -| string.swift:144:14:144:14 | [post] &... | string.swift:144:15:144:15 | $interpolation | -| string.swift:144:15:144:15 | $interpolation | string.swift:144:15:144:15 | &... | -| string.swift:144:15:144:15 | &... | string.swift:144:15:144:15 | [post] &... | -| string.swift:144:15:144:15 | &... | string.swift:144:16:144:16 | [post] x | -| string.swift:144:15:144:15 | &... | string.swift:144:18:144:18 | $interpolation | -| string.swift:144:15:144:15 | [post] &... | string.swift:144:18:144:18 | $interpolation | -| string.swift:144:16:144:16 | [post] x | string.swift:146:27:146:27 | x | -| string.swift:144:16:144:16 | x | string.swift:144:15:144:15 | [post] &... | -| string.swift:144:16:144:16 | x | string.swift:144:16:144:16 | [post] x | -| string.swift:144:16:144:16 | x | string.swift:146:27:146:27 | x | -| string.swift:144:18:144:18 | hello | string.swift:144:18:144:18 | [post] hello | -| string.swift:144:18:144:18 | hello | string.swift:144:18:144:18 | [post] &... | -| string.swift:144:18:144:18 | $interpolation | string.swift:144:18:144:18 | &... | -| string.swift:144:18:144:18 | &... | string.swift:144:18:144:18 | [post] hello | -| string.swift:144:18:144:18 | &... | string.swift:144:18:144:18 | [post] &... | -| string.swift:144:18:144:18 | &... | string.swift:144:26:144:26 | $interpolation | -| string.swift:144:18:144:18 | [post] &... | string.swift:144:26:144:26 | $interpolation | -| string.swift:144:26:144:26 | $interpolation | string.swift:144:26:144:26 | &... | -| string.swift:144:26:144:26 | &... | string.swift:144:26:144:26 | [post] &... | -| string.swift:144:26:144:26 | &... | string.swift:144:27:144:27 | [post] y | -| string.swift:144:26:144:26 | &... | string.swift:144:29:144:29 | $interpolation | -| string.swift:144:26:144:26 | [post] &... | string.swift:144:29:144:29 | $interpolation | -| string.swift:144:27:144:27 | [post] y | string.swift:146:16:146:16 | y | -| string.swift:144:27:144:27 | y | string.swift:144:26:144:26 | [post] &... | -| string.swift:144:27:144:27 | y | string.swift:144:27:144:27 | [post] y | -| string.swift:144:27:144:27 | y | string.swift:146:16:146:16 | y | -| string.swift:144:29:144:29 | | string.swift:144:29:144:29 | [post] | -| string.swift:144:29:144:29 | | string.swift:144:29:144:29 | [post] &... | -| string.swift:144:29:144:29 | $interpolation | string.swift:144:29:144:29 | &... | -| string.swift:144:29:144:29 | &... | string.swift:144:13:144:13 | TapExpr | -| string.swift:144:29:144:29 | &... | string.swift:144:29:144:29 | [post] | -| string.swift:144:29:144:29 | &... | string.swift:144:29:144:29 | [post] &... | -| string.swift:144:29:144:29 | [post] &... | string.swift:144:13:144:13 | TapExpr | -| string.swift:146:13:146:13 | | string.swift:146:13:146:13 | [post] | -| string.swift:146:13:146:13 | | string.swift:146:14:146:14 | [post] &... | -| string.swift:146:13:146:13 | SSA def($interpolation) | string.swift:146:14:146:14 | SSA phi($interpolation) | -| string.swift:146:13:146:13 | TapExpr | string.swift:146:13:146:13 | "..." | -| string.swift:146:14:146:14 | $interpolation | string.swift:146:14:146:14 | &... | -| string.swift:146:14:146:14 | &... | string.swift:146:13:146:13 | [post] | -| string.swift:146:14:146:14 | &... | string.swift:146:14:146:14 | [post] &... | -| string.swift:146:14:146:14 | &... | string.swift:146:15:146:15 | $interpolation | -| string.swift:146:14:146:14 | SSA phi($interpolation) | string.swift:146:14:146:14 | $interpolation | -| string.swift:146:14:146:14 | [post] &... | string.swift:146:15:146:15 | $interpolation | -| string.swift:146:15:146:15 | $interpolation | string.swift:146:15:146:15 | &... | -| string.swift:146:15:146:15 | &... | string.swift:146:15:146:15 | [post] &... | -| string.swift:146:15:146:15 | &... | string.swift:146:16:146:16 | [post] y | -| string.swift:146:15:146:15 | &... | string.swift:146:18:146:18 | $interpolation | -| string.swift:146:15:146:15 | [post] &... | string.swift:146:18:146:18 | $interpolation | -| string.swift:146:16:146:16 | y | string.swift:146:15:146:15 | [post] &... | -| string.swift:146:16:146:16 | y | string.swift:146:16:146:16 | [post] y | -| string.swift:146:18:146:18 | world | string.swift:146:18:146:18 | [post] world | -| string.swift:146:18:146:18 | world | string.swift:146:18:146:18 | [post] &... | -| string.swift:146:18:146:18 | $interpolation | string.swift:146:18:146:18 | &... | -| string.swift:146:18:146:18 | &... | string.swift:146:18:146:18 | [post] world | -| string.swift:146:18:146:18 | &... | string.swift:146:18:146:18 | [post] &... | -| string.swift:146:18:146:18 | &... | string.swift:146:26:146:26 | $interpolation | -| string.swift:146:18:146:18 | [post] &... | string.swift:146:26:146:26 | $interpolation | -| string.swift:146:26:146:26 | $interpolation | string.swift:146:26:146:26 | &... | -| string.swift:146:26:146:26 | &... | string.swift:146:26:146:26 | [post] &... | -| string.swift:146:26:146:26 | &... | string.swift:146:27:146:27 | [post] x | -| string.swift:146:26:146:26 | &... | string.swift:146:29:146:29 | $interpolation | -| string.swift:146:26:146:26 | [post] &... | string.swift:146:29:146:29 | $interpolation | -| string.swift:146:27:146:27 | x | string.swift:146:26:146:26 | [post] &... | -| string.swift:146:27:146:27 | x | string.swift:146:27:146:27 | [post] x | -| string.swift:146:29:146:29 | | string.swift:146:29:146:29 | [post] | -| string.swift:146:29:146:29 | | string.swift:146:29:146:29 | [post] &... | -| string.swift:146:29:146:29 | $interpolation | string.swift:146:29:146:29 | &... | -| string.swift:146:29:146:29 | &... | string.swift:146:13:146:13 | TapExpr | -| string.swift:146:29:146:29 | &... | string.swift:146:29:146:29 | [post] | -| string.swift:146:29:146:29 | &... | string.swift:146:29:146:29 | [post] &... | -| string.swift:146:29:146:29 | [post] &... | string.swift:146:13:146:13 | TapExpr | -| string.swift:148:3:148:7 | SSA def(x) | string.swift:149:16:149:16 | x | -| string.swift:148:7:148:7 | 0 | string.swift:148:3:148:7 | SSA def(x) | +| string.swift:110:8:110:8 | SSA def(self) | string.swift:110:3:110:78 | self[return] | +| string.swift:110:8:110:8 | self | string.swift:110:8:110:8 | SSA def(self) | +| string.swift:111:8:111:8 | SSA def(self) | string.swift:111:3:111:74 | self[return] | +| string.swift:111:8:111:8 | self | string.swift:111:8:111:8 | SSA def(self) | +| string.swift:112:8:112:8 | SSA def(self) | string.swift:112:3:112:79 | self[return] | +| string.swift:112:8:112:8 | self | string.swift:112:8:112:8 | SSA def(self) | +| string.swift:113:8:113:8 | SSA def(self) | string.swift:113:3:114:77 | self[return] | +| string.swift:113:8:113:8 | self | string.swift:113:8:113:8 | SSA def(self) | +| string.swift:117:7:117:7 | SSA def(self) | string.swift:117:7:117:7 | self[return] | +| string.swift:117:7:117:7 | self | string.swift:117:7:117:7 | SSA def(self) | +| string.swift:119:5:119:5 | SSA def(self) | string.swift:119:5:119:29 | self[return] | +| string.swift:119:5:119:5 | self | string.swift:119:5:119:5 | SSA def(self) | +| string.swift:125:32:125:32 | SSA def(self) | string.swift:125:32:125:47 | self[return] | +| string.swift:125:32:125:32 | self | string.swift:125:32:125:32 | SSA def(self) | +| string.swift:126:30:126:30 | SSA def(self) | string.swift:126:30:126:45 | self[return] | +| string.swift:126:30:126:30 | self | string.swift:126:30:126:30 | SSA def(self) | +| string.swift:127:43:127:43 | SSA def(self) | string.swift:127:43:127:58 | self[return] | +| string.swift:127:43:127:43 | self | string.swift:127:43:127:43 | SSA def(self) | +| string.swift:128:8:128:8 | SSA def(self) | string.swift:128:3:128:60 | self[return] | +| string.swift:128:8:128:8 | self | string.swift:128:8:128:8 | SSA def(self) | +| string.swift:137:7:137:7 | SSA def(x) | string.swift:139:16:139:16 | x | +| string.swift:137:11:137:18 | call to source() | string.swift:137:7:137:7 | SSA def(x) | +| string.swift:139:13:139:13 | | string.swift:139:13:139:13 | [post] | +| string.swift:139:13:139:13 | | string.swift:139:14:139:14 | [post] &... | +| string.swift:139:13:139:13 | SSA def($interpolation) | string.swift:139:14:139:14 | SSA phi($interpolation) | +| string.swift:139:13:139:13 | TapExpr | string.swift:139:13:139:13 | "..." | +| string.swift:139:14:139:14 | $interpolation | string.swift:139:14:139:14 | &... | +| string.swift:139:14:139:14 | &... | string.swift:139:13:139:13 | [post] | +| string.swift:139:14:139:14 | &... | string.swift:139:14:139:14 | [post] &... | +| string.swift:139:14:139:14 | &... | string.swift:139:15:139:15 | $interpolation | +| string.swift:139:14:139:14 | SSA phi($interpolation) | string.swift:139:14:139:14 | $interpolation | +| string.swift:139:14:139:14 | [post] &... | string.swift:139:15:139:15 | $interpolation | +| string.swift:139:15:139:15 | $interpolation | string.swift:139:15:139:15 | &... | +| string.swift:139:15:139:15 | &... | string.swift:139:15:139:15 | [post] &... | +| string.swift:139:15:139:15 | &... | string.swift:139:16:139:16 | [post] x | +| string.swift:139:15:139:15 | &... | string.swift:139:18:139:18 | $interpolation | +| string.swift:139:15:139:15 | [post] &... | string.swift:139:18:139:18 | $interpolation | +| string.swift:139:16:139:16 | [post] x | string.swift:141:16:141:16 | x | +| string.swift:139:16:139:16 | x | string.swift:139:15:139:15 | [post] &... | +| string.swift:139:16:139:16 | x | string.swift:139:16:139:16 | [post] x | +| string.swift:139:16:139:16 | x | string.swift:141:16:141:16 | x | +| string.swift:139:18:139:18 | | string.swift:139:18:139:18 | [post] | +| string.swift:139:18:139:18 | | string.swift:139:18:139:18 | [post] &... | +| string.swift:139:18:139:18 | $interpolation | string.swift:139:18:139:18 | &... | +| string.swift:139:18:139:18 | &... | string.swift:139:13:139:13 | TapExpr | +| string.swift:139:18:139:18 | &... | string.swift:139:18:139:18 | [post] | +| string.swift:139:18:139:18 | &... | string.swift:139:18:139:18 | [post] &... | +| string.swift:139:18:139:18 | [post] &... | string.swift:139:13:139:13 | TapExpr | +| string.swift:141:13:141:13 | | string.swift:141:13:141:13 | [post] | +| string.swift:141:13:141:13 | | string.swift:141:14:141:14 | [post] &... | +| string.swift:141:13:141:13 | SSA def($interpolation) | string.swift:141:14:141:14 | SSA phi($interpolation) | +| string.swift:141:13:141:13 | TapExpr | string.swift:141:13:141:13 | "..." | +| string.swift:141:14:141:14 | $interpolation | string.swift:141:14:141:14 | &... | +| string.swift:141:14:141:14 | &... | string.swift:141:13:141:13 | [post] | +| string.swift:141:14:141:14 | &... | string.swift:141:14:141:14 | [post] &... | +| string.swift:141:14:141:14 | &... | string.swift:141:15:141:15 | $interpolation | +| string.swift:141:14:141:14 | SSA phi($interpolation) | string.swift:141:14:141:14 | $interpolation | +| string.swift:141:14:141:14 | [post] &... | string.swift:141:15:141:15 | $interpolation | +| string.swift:141:15:141:15 | $interpolation | string.swift:141:15:141:15 | &... | +| string.swift:141:15:141:15 | &... | string.swift:141:15:141:15 | [post] &... | +| string.swift:141:15:141:15 | &... | string.swift:141:16:141:16 | [post] x | +| string.swift:141:15:141:15 | &... | string.swift:141:18:141:18 | $interpolation | +| string.swift:141:15:141:15 | [post] &... | string.swift:141:18:141:18 | $interpolation | +| string.swift:141:16:141:16 | [post] x | string.swift:141:21:141:21 | x | +| string.swift:141:16:141:16 | x | string.swift:141:15:141:15 | [post] &... | +| string.swift:141:16:141:16 | x | string.swift:141:16:141:16 | [post] x | +| string.swift:141:16:141:16 | x | string.swift:141:21:141:21 | x | +| string.swift:141:18:141:18 | | string.swift:141:18:141:18 | [post] | +| string.swift:141:18:141:18 | | string.swift:141:18:141:18 | [post] &... | +| string.swift:141:18:141:18 | $interpolation | string.swift:141:18:141:18 | &... | +| string.swift:141:18:141:18 | &... | string.swift:141:18:141:18 | [post] | +| string.swift:141:18:141:18 | &... | string.swift:141:18:141:18 | [post] &... | +| string.swift:141:18:141:18 | &... | string.swift:141:20:141:20 | $interpolation | +| string.swift:141:18:141:18 | [post] &... | string.swift:141:20:141:20 | $interpolation | +| string.swift:141:20:141:20 | $interpolation | string.swift:141:20:141:20 | &... | +| string.swift:141:20:141:20 | &... | string.swift:141:20:141:20 | [post] &... | +| string.swift:141:20:141:20 | &... | string.swift:141:21:141:21 | [post] x | +| string.swift:141:20:141:20 | &... | string.swift:141:23:141:23 | $interpolation | +| string.swift:141:20:141:20 | [post] &... | string.swift:141:23:141:23 | $interpolation | +| string.swift:141:21:141:21 | [post] x | string.swift:143:16:143:16 | x | +| string.swift:141:21:141:21 | x | string.swift:141:20:141:20 | [post] &... | +| string.swift:141:21:141:21 | x | string.swift:141:21:141:21 | [post] x | +| string.swift:141:21:141:21 | x | string.swift:143:16:143:16 | x | +| string.swift:141:23:141:23 | | string.swift:141:23:141:23 | [post] | +| string.swift:141:23:141:23 | | string.swift:141:23:141:23 | [post] &... | +| string.swift:141:23:141:23 | $interpolation | string.swift:141:23:141:23 | &... | +| string.swift:141:23:141:23 | &... | string.swift:141:13:141:13 | TapExpr | +| string.swift:141:23:141:23 | &... | string.swift:141:23:141:23 | [post] | +| string.swift:141:23:141:23 | &... | string.swift:141:23:141:23 | [post] &... | +| string.swift:141:23:141:23 | [post] &... | string.swift:141:13:141:13 | TapExpr | +| string.swift:143:13:143:13 | | string.swift:143:13:143:13 | [post] | +| string.swift:143:13:143:13 | | string.swift:143:14:143:14 | [post] &... | +| string.swift:143:13:143:13 | SSA def($interpolation) | string.swift:143:14:143:14 | SSA phi($interpolation) | +| string.swift:143:13:143:13 | TapExpr | string.swift:143:13:143:13 | "..." | +| string.swift:143:14:143:14 | $interpolation | string.swift:143:14:143:14 | &... | +| string.swift:143:14:143:14 | &... | string.swift:143:13:143:13 | [post] | +| string.swift:143:14:143:14 | &... | string.swift:143:14:143:14 | [post] &... | +| string.swift:143:14:143:14 | &... | string.swift:143:15:143:15 | $interpolation | +| string.swift:143:14:143:14 | SSA phi($interpolation) | string.swift:143:14:143:14 | $interpolation | +| string.swift:143:14:143:14 | [post] &... | string.swift:143:15:143:15 | $interpolation | +| string.swift:143:15:143:15 | $interpolation | string.swift:143:15:143:15 | &... | +| string.swift:143:15:143:15 | &... | string.swift:143:15:143:15 | [post] &... | +| string.swift:143:15:143:15 | &... | string.swift:143:16:143:16 | [post] x | +| string.swift:143:15:143:15 | &... | string.swift:143:18:143:18 | $interpolation | +| string.swift:143:15:143:15 | [post] &... | string.swift:143:18:143:18 | $interpolation | +| string.swift:143:16:143:16 | [post] x | string.swift:143:26:143:26 | x | +| string.swift:143:16:143:16 | x | string.swift:143:15:143:15 | [post] &... | +| string.swift:143:16:143:16 | x | string.swift:143:16:143:16 | [post] x | +| string.swift:143:16:143:16 | x | string.swift:143:26:143:26 | x | +| string.swift:143:18:143:18 | | string.swift:143:18:143:18 | [post] | +| string.swift:143:18:143:18 | | string.swift:143:18:143:18 | [post] &... | +| string.swift:143:18:143:18 | $interpolation | string.swift:143:18:143:18 | &... | +| string.swift:143:18:143:18 | &... | string.swift:143:18:143:18 | [post] | +| string.swift:143:18:143:18 | &... | string.swift:143:18:143:18 | [post] &... | +| string.swift:143:18:143:18 | &... | string.swift:143:20:143:20 | $interpolation | +| string.swift:143:18:143:18 | [post] &... | string.swift:143:20:143:20 | $interpolation | +| string.swift:143:20:143:20 | $interpolation | string.swift:143:20:143:20 | &... | +| string.swift:143:20:143:20 | &... | string.swift:143:20:143:20 | [post] &... | +| string.swift:143:20:143:20 | &... | string.swift:143:21:143:21 | [post] 0 | +| string.swift:143:20:143:20 | &... | string.swift:143:23:143:23 | $interpolation | +| string.swift:143:20:143:20 | [post] &... | string.swift:143:23:143:23 | $interpolation | +| string.swift:143:21:143:21 | 0 | string.swift:143:20:143:20 | [post] &... | +| string.swift:143:21:143:21 | 0 | string.swift:143:21:143:21 | [post] 0 | +| string.swift:143:23:143:23 | | string.swift:143:23:143:23 | [post] | +| string.swift:143:23:143:23 | | string.swift:143:23:143:23 | [post] &... | +| string.swift:143:23:143:23 | $interpolation | string.swift:143:23:143:23 | &... | +| string.swift:143:23:143:23 | &... | string.swift:143:23:143:23 | [post] | +| string.swift:143:23:143:23 | &... | string.swift:143:23:143:23 | [post] &... | +| string.swift:143:23:143:23 | &... | string.swift:143:25:143:25 | $interpolation | +| string.swift:143:23:143:23 | [post] &... | string.swift:143:25:143:25 | $interpolation | +| string.swift:143:25:143:25 | $interpolation | string.swift:143:25:143:25 | &... | +| string.swift:143:25:143:25 | &... | string.swift:143:25:143:25 | [post] &... | +| string.swift:143:25:143:25 | &... | string.swift:143:26:143:26 | [post] x | +| string.swift:143:25:143:25 | &... | string.swift:143:28:143:28 | $interpolation | +| string.swift:143:25:143:25 | [post] &... | string.swift:143:28:143:28 | $interpolation | +| string.swift:143:26:143:26 | [post] x | string.swift:149:16:149:16 | x | +| string.swift:143:26:143:26 | x | string.swift:143:25:143:25 | [post] &... | +| string.swift:143:26:143:26 | x | string.swift:143:26:143:26 | [post] x | +| string.swift:143:26:143:26 | x | string.swift:149:16:149:16 | x | +| string.swift:143:28:143:28 | | string.swift:143:28:143:28 | [post] | +| string.swift:143:28:143:28 | | string.swift:143:28:143:28 | [post] &... | +| string.swift:143:28:143:28 | $interpolation | string.swift:143:28:143:28 | &... | +| string.swift:143:28:143:28 | &... | string.swift:143:13:143:13 | TapExpr | +| string.swift:143:28:143:28 | &... | string.swift:143:28:143:28 | [post] | +| string.swift:143:28:143:28 | &... | string.swift:143:28:143:28 | [post] &... | +| string.swift:143:28:143:28 | [post] &... | string.swift:143:13:143:13 | TapExpr | +| string.swift:145:7:145:7 | SSA def(y) | string.swift:147:16:147:16 | y | +| string.swift:145:11:145:11 | 42 | string.swift:145:7:145:7 | SSA def(y) | +| string.swift:147:13:147:13 | | string.swift:147:13:147:13 | [post] | +| string.swift:147:13:147:13 | | string.swift:147:14:147:14 | [post] &... | +| string.swift:147:13:147:13 | SSA def($interpolation) | string.swift:147:14:147:14 | SSA phi($interpolation) | +| string.swift:147:13:147:13 | TapExpr | string.swift:147:13:147:13 | "..." | +| string.swift:147:14:147:14 | $interpolation | string.swift:147:14:147:14 | &... | +| string.swift:147:14:147:14 | &... | string.swift:147:13:147:13 | [post] | +| string.swift:147:14:147:14 | &... | string.swift:147:14:147:14 | [post] &... | +| string.swift:147:14:147:14 | &... | string.swift:147:15:147:15 | $interpolation | +| string.swift:147:14:147:14 | SSA phi($interpolation) | string.swift:147:14:147:14 | $interpolation | +| string.swift:147:14:147:14 | [post] &... | string.swift:147:15:147:15 | $interpolation | +| string.swift:147:15:147:15 | $interpolation | string.swift:147:15:147:15 | &... | +| string.swift:147:15:147:15 | &... | string.swift:147:15:147:15 | [post] &... | +| string.swift:147:15:147:15 | &... | string.swift:147:16:147:16 | [post] y | +| string.swift:147:15:147:15 | &... | string.swift:147:18:147:18 | $interpolation | +| string.swift:147:15:147:15 | [post] &... | string.swift:147:18:147:18 | $interpolation | +| string.swift:147:16:147:16 | [post] y | string.swift:149:27:149:27 | y | +| string.swift:147:16:147:16 | y | string.swift:147:15:147:15 | [post] &... | +| string.swift:147:16:147:16 | y | string.swift:147:16:147:16 | [post] y | +| string.swift:147:16:147:16 | y | string.swift:149:27:149:27 | y | +| string.swift:147:18:147:18 | | string.swift:147:18:147:18 | [post] | +| string.swift:147:18:147:18 | | string.swift:147:18:147:18 | [post] &... | +| string.swift:147:18:147:18 | $interpolation | string.swift:147:18:147:18 | &... | +| string.swift:147:18:147:18 | &... | string.swift:147:13:147:13 | TapExpr | +| string.swift:147:18:147:18 | &... | string.swift:147:18:147:18 | [post] | +| string.swift:147:18:147:18 | &... | string.swift:147:18:147:18 | [post] &... | +| string.swift:147:18:147:18 | [post] &... | string.swift:147:13:147:13 | TapExpr | | string.swift:149:13:149:13 | | string.swift:149:13:149:13 | [post] | | string.swift:149:13:149:13 | | string.swift:149:14:149:14 | [post] &... | | string.swift:149:13:149:13 | SSA def($interpolation) | string.swift:149:14:149:14 | SSA phi($interpolation) | @@ -1002,824 +924,929 @@ | string.swift:149:15:149:15 | &... | string.swift:149:16:149:16 | [post] x | | string.swift:149:15:149:15 | &... | string.swift:149:18:149:18 | $interpolation | | string.swift:149:15:149:15 | [post] &... | string.swift:149:18:149:18 | $interpolation | +| string.swift:149:16:149:16 | [post] x | string.swift:151:27:151:27 | x | | string.swift:149:16:149:16 | x | string.swift:149:15:149:15 | [post] &... | | string.swift:149:16:149:16 | x | string.swift:149:16:149:16 | [post] x | -| string.swift:149:18:149:18 | | string.swift:149:18:149:18 | [post] | -| string.swift:149:18:149:18 | | string.swift:149:18:149:18 | [post] &... | +| string.swift:149:16:149:16 | x | string.swift:151:27:151:27 | x | +| string.swift:149:18:149:18 | hello | string.swift:149:18:149:18 | [post] hello | +| string.swift:149:18:149:18 | hello | string.swift:149:18:149:18 | [post] &... | | string.swift:149:18:149:18 | $interpolation | string.swift:149:18:149:18 | &... | -| string.swift:149:18:149:18 | &... | string.swift:149:13:149:13 | TapExpr | -| string.swift:149:18:149:18 | &... | string.swift:149:18:149:18 | [post] | +| string.swift:149:18:149:18 | &... | string.swift:149:18:149:18 | [post] hello | | string.swift:149:18:149:18 | &... | string.swift:149:18:149:18 | [post] &... | -| string.swift:149:18:149:18 | [post] &... | string.swift:149:13:149:13 | TapExpr | -| string.swift:155:7:155:7 | SSA def(clean) | string.swift:158:13:158:13 | clean | -| string.swift:155:15:155:15 | abcdef | string.swift:155:7:155:7 | SSA def(clean) | -| string.swift:156:7:156:7 | SSA def(tainted) | string.swift:159:13:159:13 | tainted | -| string.swift:156:17:156:25 | call to source2() | string.swift:156:7:156:7 | SSA def(tainted) | -| string.swift:158:13:158:13 | [post] clean | string.swift:161:13:161:13 | clean | -| string.swift:158:13:158:13 | clean | string.swift:161:13:161:13 | clean | -| string.swift:159:13:159:13 | [post] tainted | string.swift:162:21:162:21 | tainted | -| string.swift:159:13:159:13 | tainted | string.swift:162:21:162:21 | tainted | -| string.swift:161:13:161:13 | [post] clean | string.swift:161:21:161:21 | clean | -| string.swift:161:13:161:13 | clean | string.swift:161:13:161:21 | ... .+(_:_:) ... | -| string.swift:161:13:161:13 | clean | string.swift:161:21:161:21 | clean | -| string.swift:161:21:161:21 | [post] clean | string.swift:162:13:162:13 | clean | -| string.swift:161:21:161:21 | clean | string.swift:161:13:161:21 | ... .+(_:_:) ... | -| string.swift:161:21:161:21 | clean | string.swift:162:13:162:13 | clean | -| string.swift:162:13:162:13 | [post] clean | string.swift:163:23:163:23 | clean | -| string.swift:162:13:162:13 | clean | string.swift:162:13:162:21 | ... .+(_:_:) ... | -| string.swift:162:13:162:13 | clean | string.swift:163:23:163:23 | clean | -| string.swift:162:21:162:21 | [post] tainted | string.swift:163:13:163:13 | tainted | -| string.swift:162:21:162:21 | tainted | string.swift:162:13:162:21 | ... .+(_:_:) ... | -| string.swift:162:21:162:21 | tainted | string.swift:163:13:163:13 | tainted | -| string.swift:163:13:163:13 | [post] tainted | string.swift:164:13:164:13 | tainted | -| string.swift:163:13:163:13 | tainted | string.swift:163:13:163:23 | ... .+(_:_:) ... | -| string.swift:163:13:163:13 | tainted | string.swift:164:13:164:13 | tainted | -| string.swift:163:23:163:23 | [post] clean | string.swift:166:19:166:19 | clean | -| string.swift:163:23:163:23 | clean | string.swift:163:13:163:23 | ... .+(_:_:) ... | -| string.swift:163:23:163:23 | clean | string.swift:166:19:166:19 | clean | -| string.swift:164:13:164:13 | [post] tainted | string.swift:164:23:164:23 | tainted | -| string.swift:164:13:164:13 | tainted | string.swift:164:13:164:23 | ... .+(_:_:) ... | -| string.swift:164:13:164:13 | tainted | string.swift:164:23:164:23 | tainted | -| string.swift:164:23:164:23 | [post] tainted | string.swift:167:19:167:19 | tainted | -| string.swift:164:23:164:23 | tainted | string.swift:164:13:164:23 | ... .+(_:_:) ... | -| string.swift:164:23:164:23 | tainted | string.swift:167:19:167:19 | tainted | -| string.swift:166:13:166:13 | > | string.swift:166:13:166:19 | ... .+(_:_:) ... | -| string.swift:166:13:166:19 | ... .+(_:_:) ... | string.swift:166:13:166:27 | ... .+(_:_:) ... | -| string.swift:166:19:166:19 | [post] clean | string.swift:169:13:169:13 | clean | -| string.swift:166:19:166:19 | clean | string.swift:166:13:166:19 | ... .+(_:_:) ... | -| string.swift:166:19:166:19 | clean | string.swift:169:13:169:13 | clean | -| string.swift:166:27:166:27 | < | string.swift:166:13:166:27 | ... .+(_:_:) ... | -| string.swift:167:13:167:13 | > | string.swift:167:13:167:19 | ... .+(_:_:) ... | -| string.swift:167:13:167:19 | ... .+(_:_:) ... | string.swift:167:13:167:29 | ... .+(_:_:) ... | -| string.swift:167:19:167:19 | [post] tainted | string.swift:170:29:170:29 | tainted | -| string.swift:167:19:167:19 | tainted | string.swift:167:13:167:19 | ... .+(_:_:) ... | -| string.swift:167:19:167:19 | tainted | string.swift:170:29:170:29 | tainted | -| string.swift:167:29:167:29 | < | string.swift:167:13:167:29 | ... .+(_:_:) ... | -| string.swift:169:13:169:13 | [post] clean | string.swift:169:29:169:29 | clean | -| string.swift:169:13:169:13 | clean | string.swift:169:13:169:34 | call to appending(_:) | -| string.swift:169:13:169:13 | clean | string.swift:169:29:169:29 | clean | -| string.swift:169:29:169:29 | [post] clean | string.swift:170:13:170:13 | clean | -| string.swift:169:29:169:29 | clean | string.swift:169:13:169:34 | call to appending(_:) | -| string.swift:169:29:169:29 | clean | string.swift:170:13:170:13 | clean | -| string.swift:170:13:170:13 | [post] clean | string.swift:171:31:171:31 | clean | -| string.swift:170:13:170:13 | clean | string.swift:170:13:170:36 | call to appending(_:) | -| string.swift:170:13:170:13 | clean | string.swift:171:31:171:31 | clean | -| string.swift:170:29:170:29 | [post] tainted | string.swift:171:13:171:13 | tainted | -| string.swift:170:29:170:29 | tainted | string.swift:170:13:170:36 | call to appending(_:) | -| string.swift:170:29:170:29 | tainted | string.swift:171:13:171:13 | tainted | -| string.swift:171:13:171:13 | [post] tainted | string.swift:172:13:172:13 | tainted | -| string.swift:171:13:171:13 | tainted | string.swift:171:13:171:36 | call to appending(_:) | -| string.swift:171:13:171:13 | tainted | string.swift:172:13:172:13 | tainted | -| string.swift:171:31:171:31 | clean | string.swift:171:13:171:36 | call to appending(_:) | -| string.swift:172:13:172:13 | [post] tainted | string.swift:172:31:172:31 | tainted | -| string.swift:172:13:172:13 | tainted | string.swift:172:13:172:38 | call to appending(_:) | -| string.swift:172:13:172:13 | tainted | string.swift:172:31:172:31 | tainted | -| string.swift:172:31:172:31 | tainted | string.swift:172:13:172:38 | call to appending(_:) | -| string.swift:174:7:174:7 | SSA def(str) | string.swift:175:13:175:13 | str | -| string.swift:174:13:174:13 | abc | string.swift:174:7:174:7 | SSA def(str) | -| string.swift:175:13:175:13 | [post] str | string.swift:176:3:176:3 | str | -| string.swift:175:13:175:13 | str | string.swift:176:3:176:3 | str | -| string.swift:176:3:176:3 | &... | string.swift:177:13:177:13 | str | -| string.swift:176:3:176:3 | [post] &... | string.swift:177:13:177:13 | str | -| string.swift:176:3:176:3 | str | string.swift:176:3:176:3 | &... | -| string.swift:177:13:177:13 | [post] str | string.swift:178:3:178:3 | str | -| string.swift:177:13:177:13 | str | string.swift:178:3:178:3 | str | -| string.swift:178:3:178:3 | &... | string.swift:179:13:179:13 | str | -| string.swift:178:3:178:3 | [post] &... | string.swift:179:13:179:13 | str | -| string.swift:178:3:178:3 | str | string.swift:178:3:178:3 | &... | -| string.swift:181:7:181:7 | SSA def(str2) | string.swift:182:13:182:13 | str2 | -| string.swift:181:14:181:14 | abc | string.swift:181:7:181:7 | SSA def(str2) | -| string.swift:182:13:182:13 | [post] str2 | string.swift:183:3:183:3 | str2 | -| string.swift:182:13:182:13 | str2 | string.swift:183:3:183:3 | str2 | -| string.swift:183:3:183:3 | &... | string.swift:184:13:184:13 | str2 | -| string.swift:183:3:183:3 | [post] &... | string.swift:184:13:184:13 | str2 | -| string.swift:183:3:183:3 | str2 | string.swift:183:3:183:3 | &... | -| string.swift:183:15:183:15 | def | string.swift:183:3:183:3 | [post] &... | -| string.swift:184:13:184:13 | [post] str2 | string.swift:185:3:185:3 | str2 | -| string.swift:184:13:184:13 | str2 | string.swift:185:3:185:3 | str2 | -| string.swift:185:3:185:3 | &... | string.swift:186:13:186:13 | str2 | -| string.swift:185:3:185:3 | [post] &... | string.swift:186:13:186:13 | str2 | -| string.swift:185:3:185:3 | str2 | string.swift:185:3:185:3 | &... | -| string.swift:185:15:185:23 | call to source2() | string.swift:185:3:185:3 | [post] &... | -| string.swift:188:7:188:7 | SSA def(str3) | string.swift:189:13:189:13 | str3 | -| string.swift:188:14:188:14 | abc | string.swift:188:7:188:7 | SSA def(str3) | -| string.swift:189:13:189:13 | [post] str3 | string.swift:190:3:190:3 | str3 | -| string.swift:189:13:189:13 | str3 | string.swift:190:3:190:3 | str3 | -| string.swift:190:3:190:3 | &... | string.swift:191:13:191:13 | str3 | -| string.swift:190:3:190:3 | [post] &... | string.swift:191:13:191:13 | str3 | -| string.swift:190:3:190:3 | str3 | string.swift:190:3:190:3 | &... | -| string.swift:190:27:190:27 | def | string.swift:190:3:190:3 | [post] &... | -| string.swift:191:13:191:13 | [post] str3 | string.swift:192:3:192:3 | str3 | -| string.swift:191:13:191:13 | str3 | string.swift:192:3:192:3 | str3 | -| string.swift:192:3:192:3 | &... | string.swift:193:13:193:13 | str3 | -| string.swift:192:3:192:3 | [post] &... | string.swift:193:13:193:13 | str3 | -| string.swift:192:3:192:3 | str3 | string.swift:192:3:192:3 | &... | -| string.swift:192:27:192:35 | call to source2() | string.swift:192:3:192:3 | [post] &... | -| string.swift:195:7:195:7 | SSA def(str4) | string.swift:196:13:196:13 | str4 | -| string.swift:195:14:195:14 | abc | string.swift:195:7:195:7 | SSA def(str4) | -| string.swift:196:13:196:13 | [post] str4 | string.swift:197:3:197:3 | str4 | -| string.swift:196:13:196:13 | str4 | string.swift:197:3:197:3 | str4 | -| string.swift:197:3:197:3 | &... | string.swift:198:13:198:13 | str4 | -| string.swift:197:3:197:3 | [post] &... | string.swift:198:13:198:13 | str4 | -| string.swift:197:3:197:3 | str4 | string.swift:197:3:197:3 | &... | -| string.swift:197:14:197:14 | def | string.swift:197:3:197:3 | [post] &... | -| string.swift:198:13:198:13 | [post] str4 | string.swift:199:3:199:3 | str4 | -| string.swift:198:13:198:13 | str4 | string.swift:199:3:199:3 | str4 | -| string.swift:199:3:199:3 | &... | string.swift:200:13:200:13 | str4 | -| string.swift:199:3:199:3 | [post] &... | string.swift:200:13:200:13 | str4 | -| string.swift:199:3:199:3 | str4 | string.swift:199:3:199:3 | &... | -| string.swift:199:14:199:22 | call to source2() | string.swift:199:3:199:3 | [post] &... | -| string.swift:202:7:202:7 | SSA def(str5) | string.swift:203:13:203:13 | str5 | -| string.swift:202:14:202:14 | abc | string.swift:202:7:202:7 | SSA def(str5) | -| string.swift:203:13:203:13 | [post] str5 | string.swift:204:3:204:3 | str5 | -| string.swift:203:13:203:13 | str5 | string.swift:204:3:204:3 | str5 | -| string.swift:204:3:204:3 | &... | string.swift:204:38:204:38 | str5 | -| string.swift:204:3:204:3 | [post] &... | string.swift:204:38:204:38 | str5 | -| string.swift:204:3:204:3 | str5 | string.swift:204:3:204:3 | &... | -| string.swift:204:27:204:27 | abc | string.swift:204:3:204:3 | [post] &... | -| string.swift:204:38:204:38 | [post] str5 | string.swift:205:13:205:13 | str5 | -| string.swift:204:38:204:38 | str5 | string.swift:205:13:205:13 | str5 | -| string.swift:205:13:205:13 | [post] str5 | string.swift:206:3:206:3 | str5 | -| string.swift:205:13:205:13 | str5 | string.swift:206:3:206:3 | str5 | -| string.swift:206:3:206:3 | &... | string.swift:206:42:206:42 | str5 | -| string.swift:206:3:206:3 | [post] &... | string.swift:206:42:206:42 | str5 | -| string.swift:206:3:206:3 | str5 | string.swift:206:3:206:3 | &... | -| string.swift:206:27:206:35 | call to source2() | string.swift:206:3:206:3 | [post] &... | -| string.swift:206:42:206:42 | [post] str5 | string.swift:207:13:207:13 | str5 | -| string.swift:206:42:206:42 | str5 | string.swift:207:13:207:13 | str5 | -| string.swift:211:7:211:7 | SSA def(clean) | string.swift:215:20:215:20 | clean | -| string.swift:211:15:211:15 | | string.swift:211:7:211:7 | SSA def(clean) | -| string.swift:212:7:212:7 | SSA def(tainted) | string.swift:216:20:216:20 | tainted | -| string.swift:212:17:212:25 | call to source2() | string.swift:212:7:212:7 | SSA def(tainted) | -| string.swift:213:7:213:7 | SSA def(taintedInt) | string.swift:217:20:217:20 | taintedInt | -| string.swift:213:20:213:27 | call to source() | string.swift:213:7:213:7 | SSA def(taintedInt) | -| string.swift:215:20:215:20 | [post] clean | string.swift:227:31:227:31 | clean | -| string.swift:215:20:215:20 | clean | string.swift:215:13:215:25 | call to String.init(_:) | -| string.swift:215:20:215:20 | clean | string.swift:227:31:227:31 | clean | -| string.swift:216:20:216:20 | [post] tainted | string.swift:219:28:219:28 | tainted | -| string.swift:216:20:216:20 | tainted | string.swift:216:13:216:27 | call to String.init(_:) | -| string.swift:216:20:216:20 | tainted | string.swift:219:28:219:28 | tainted | -| string.swift:217:20:217:20 | [post] taintedInt | string.swift:225:46:225:46 | taintedInt | -| string.swift:217:20:217:20 | taintedInt | string.swift:217:13:217:30 | call to String.init(_:) | -| string.swift:217:20:217:20 | taintedInt | string.swift:225:46:225:46 | taintedInt | -| string.swift:219:28:219:28 | [post] tainted | string.swift:220:28:220:28 | tainted | -| string.swift:219:28:219:28 | tainted | string.swift:219:13:219:44 | call to String.init(format:_:) | -| string.swift:219:28:219:28 | tainted | string.swift:220:28:220:28 | tainted | -| string.swift:220:28:220:28 | [post] tainted | string.swift:221:28:221:28 | tainted | -| string.swift:220:28:220:28 | tainted | string.swift:220:13:220:50 | call to String.init(format:arguments:) | -| string.swift:220:28:220:28 | tainted | string.swift:221:28:221:28 | tainted | -| string.swift:220:48:220:49 | [...] | string.swift:220:13:220:50 | call to String.init(format:arguments:) | -| string.swift:221:28:221:28 | [post] tainted | string.swift:222:28:222:28 | tainted | -| string.swift:221:28:221:28 | tainted | string.swift:221:13:221:57 | call to String.init(format:locale:_:) | -| string.swift:221:28:221:28 | tainted | string.swift:222:28:222:28 | tainted | -| string.swift:222:28:222:28 | [post] tainted | string.swift:223:46:223:46 | tainted | -| string.swift:222:28:222:28 | tainted | string.swift:222:13:222:63 | call to String.init(format:locale:arguments:) | -| string.swift:222:28:222:28 | tainted | string.swift:223:46:223:46 | tainted | -| string.swift:223:46:223:46 | [post] tainted | string.swift:224:34:224:34 | tainted | -| string.swift:223:46:223:46 | tainted | string.swift:223:13:223:62 | call to localizedStringWithFormat(_:_:) | -| string.swift:223:46:223:46 | tainted | string.swift:224:34:224:34 | tainted | -| string.swift:223:55:223:61 | [...] | string.swift:223:13:223:62 | call to localizedStringWithFormat(_:_:) | -| string.swift:224:28:224:28 | %s | string.swift:224:13:224:41 | call to String.init(format:_:) | -| string.swift:224:34:224:34 | tainted | string.swift:228:31:228:31 | tainted | -| string.swift:225:28:225:28 | %i %i %i | string.swift:225:13:225:56 | call to String.init(format:_:) | -| string.swift:227:31:227:31 | [post] clean | string.swift:253:13:253:13 | clean | -| string.swift:227:31:227:31 | clean | string.swift:227:13:227:46 | call to String.init(repeating:count:) | -| string.swift:227:31:227:31 | clean | string.swift:253:13:253:13 | clean | -| string.swift:228:31:228:31 | [post] tainted | string.swift:230:13:230:13 | tainted | -| string.swift:228:31:228:31 | tainted | string.swift:228:13:228:48 | call to String.init(repeating:count:) | -| string.swift:228:31:228:31 | tainted | string.swift:230:13:230:13 | tainted | -| string.swift:230:13:230:13 | [post] tainted | string.swift:231:13:231:13 | tainted | -| string.swift:230:13:230:13 | tainted | string.swift:230:13:230:33 | call to dropFirst(_:) | -| string.swift:230:13:230:13 | tainted | string.swift:231:13:231:13 | tainted | -| string.swift:231:13:231:13 | [post] tainted | string.swift:232:13:232:13 | tainted | -| string.swift:231:13:231:13 | tainted | string.swift:231:13:231:32 | call to dropLast(_:) | -| string.swift:231:13:231:13 | tainted | string.swift:232:13:232:13 | tainted | -| string.swift:232:13:232:13 | [post] tainted | string.swift:232:37:232:37 | tainted | -| string.swift:232:13:232:13 | tainted | string.swift:232:13:232:55 | call to substring(from:) | -| string.swift:232:13:232:13 | tainted | string.swift:232:37:232:37 | tainted | -| string.swift:232:37:232:37 | [post] tainted | string.swift:234:13:234:13 | tainted | -| string.swift:232:37:232:37 | tainted | string.swift:234:13:234:13 | tainted | -| string.swift:234:13:234:13 | [post] tainted | string.swift:235:13:235:13 | tainted | -| string.swift:234:13:234:13 | tainted | string.swift:234:13:234:32 | call to lowercased() | -| string.swift:234:13:234:13 | tainted | string.swift:235:13:235:13 | tainted | +| string.swift:149:18:149:18 | &... | string.swift:149:26:149:26 | $interpolation | +| string.swift:149:18:149:18 | [post] &... | string.swift:149:26:149:26 | $interpolation | +| string.swift:149:26:149:26 | $interpolation | string.swift:149:26:149:26 | &... | +| string.swift:149:26:149:26 | &... | string.swift:149:26:149:26 | [post] &... | +| string.swift:149:26:149:26 | &... | string.swift:149:27:149:27 | [post] y | +| string.swift:149:26:149:26 | &... | string.swift:149:29:149:29 | $interpolation | +| string.swift:149:26:149:26 | [post] &... | string.swift:149:29:149:29 | $interpolation | +| string.swift:149:27:149:27 | [post] y | string.swift:151:16:151:16 | y | +| string.swift:149:27:149:27 | y | string.swift:149:26:149:26 | [post] &... | +| string.swift:149:27:149:27 | y | string.swift:149:27:149:27 | [post] y | +| string.swift:149:27:149:27 | y | string.swift:151:16:151:16 | y | +| string.swift:149:29:149:29 | | string.swift:149:29:149:29 | [post] | +| string.swift:149:29:149:29 | | string.swift:149:29:149:29 | [post] &... | +| string.swift:149:29:149:29 | $interpolation | string.swift:149:29:149:29 | &... | +| string.swift:149:29:149:29 | &... | string.swift:149:13:149:13 | TapExpr | +| string.swift:149:29:149:29 | &... | string.swift:149:29:149:29 | [post] | +| string.swift:149:29:149:29 | &... | string.swift:149:29:149:29 | [post] &... | +| string.swift:149:29:149:29 | [post] &... | string.swift:149:13:149:13 | TapExpr | +| string.swift:151:13:151:13 | | string.swift:151:13:151:13 | [post] | +| string.swift:151:13:151:13 | | string.swift:151:14:151:14 | [post] &... | +| string.swift:151:13:151:13 | SSA def($interpolation) | string.swift:151:14:151:14 | SSA phi($interpolation) | +| string.swift:151:13:151:13 | TapExpr | string.swift:151:13:151:13 | "..." | +| string.swift:151:14:151:14 | $interpolation | string.swift:151:14:151:14 | &... | +| string.swift:151:14:151:14 | &... | string.swift:151:13:151:13 | [post] | +| string.swift:151:14:151:14 | &... | string.swift:151:14:151:14 | [post] &... | +| string.swift:151:14:151:14 | &... | string.swift:151:15:151:15 | $interpolation | +| string.swift:151:14:151:14 | SSA phi($interpolation) | string.swift:151:14:151:14 | $interpolation | +| string.swift:151:14:151:14 | [post] &... | string.swift:151:15:151:15 | $interpolation | +| string.swift:151:15:151:15 | $interpolation | string.swift:151:15:151:15 | &... | +| string.swift:151:15:151:15 | &... | string.swift:151:15:151:15 | [post] &... | +| string.swift:151:15:151:15 | &... | string.swift:151:16:151:16 | [post] y | +| string.swift:151:15:151:15 | &... | string.swift:151:18:151:18 | $interpolation | +| string.swift:151:15:151:15 | [post] &... | string.swift:151:18:151:18 | $interpolation | +| string.swift:151:16:151:16 | y | string.swift:151:15:151:15 | [post] &... | +| string.swift:151:16:151:16 | y | string.swift:151:16:151:16 | [post] y | +| string.swift:151:18:151:18 | world | string.swift:151:18:151:18 | [post] world | +| string.swift:151:18:151:18 | world | string.swift:151:18:151:18 | [post] &... | +| string.swift:151:18:151:18 | $interpolation | string.swift:151:18:151:18 | &... | +| string.swift:151:18:151:18 | &... | string.swift:151:18:151:18 | [post] world | +| string.swift:151:18:151:18 | &... | string.swift:151:18:151:18 | [post] &... | +| string.swift:151:18:151:18 | &... | string.swift:151:26:151:26 | $interpolation | +| string.swift:151:18:151:18 | [post] &... | string.swift:151:26:151:26 | $interpolation | +| string.swift:151:26:151:26 | $interpolation | string.swift:151:26:151:26 | &... | +| string.swift:151:26:151:26 | &... | string.swift:151:26:151:26 | [post] &... | +| string.swift:151:26:151:26 | &... | string.swift:151:27:151:27 | [post] x | +| string.swift:151:26:151:26 | &... | string.swift:151:29:151:29 | $interpolation | +| string.swift:151:26:151:26 | [post] &... | string.swift:151:29:151:29 | $interpolation | +| string.swift:151:27:151:27 | x | string.swift:151:26:151:26 | [post] &... | +| string.swift:151:27:151:27 | x | string.swift:151:27:151:27 | [post] x | +| string.swift:151:29:151:29 | | string.swift:151:29:151:29 | [post] | +| string.swift:151:29:151:29 | | string.swift:151:29:151:29 | [post] &... | +| string.swift:151:29:151:29 | $interpolation | string.swift:151:29:151:29 | &... | +| string.swift:151:29:151:29 | &... | string.swift:151:13:151:13 | TapExpr | +| string.swift:151:29:151:29 | &... | string.swift:151:29:151:29 | [post] | +| string.swift:151:29:151:29 | &... | string.swift:151:29:151:29 | [post] &... | +| string.swift:151:29:151:29 | [post] &... | string.swift:151:13:151:13 | TapExpr | +| string.swift:153:3:153:7 | SSA def(x) | string.swift:154:16:154:16 | x | +| string.swift:153:7:153:7 | 0 | string.swift:153:3:153:7 | SSA def(x) | +| string.swift:154:13:154:13 | | string.swift:154:13:154:13 | [post] | +| string.swift:154:13:154:13 | | string.swift:154:14:154:14 | [post] &... | +| string.swift:154:13:154:13 | SSA def($interpolation) | string.swift:154:14:154:14 | SSA phi($interpolation) | +| string.swift:154:13:154:13 | TapExpr | string.swift:154:13:154:13 | "..." | +| string.swift:154:14:154:14 | $interpolation | string.swift:154:14:154:14 | &... | +| string.swift:154:14:154:14 | &... | string.swift:154:13:154:13 | [post] | +| string.swift:154:14:154:14 | &... | string.swift:154:14:154:14 | [post] &... | +| string.swift:154:14:154:14 | &... | string.swift:154:15:154:15 | $interpolation | +| string.swift:154:14:154:14 | SSA phi($interpolation) | string.swift:154:14:154:14 | $interpolation | +| string.swift:154:14:154:14 | [post] &... | string.swift:154:15:154:15 | $interpolation | +| string.swift:154:15:154:15 | $interpolation | string.swift:154:15:154:15 | &... | +| string.swift:154:15:154:15 | &... | string.swift:154:15:154:15 | [post] &... | +| string.swift:154:15:154:15 | &... | string.swift:154:16:154:16 | [post] x | +| string.swift:154:15:154:15 | &... | string.swift:154:18:154:18 | $interpolation | +| string.swift:154:15:154:15 | [post] &... | string.swift:154:18:154:18 | $interpolation | +| string.swift:154:16:154:16 | x | string.swift:154:15:154:15 | [post] &... | +| string.swift:154:16:154:16 | x | string.swift:154:16:154:16 | [post] x | +| string.swift:154:18:154:18 | | string.swift:154:18:154:18 | [post] | +| string.swift:154:18:154:18 | | string.swift:154:18:154:18 | [post] &... | +| string.swift:154:18:154:18 | $interpolation | string.swift:154:18:154:18 | &... | +| string.swift:154:18:154:18 | &... | string.swift:154:13:154:13 | TapExpr | +| string.swift:154:18:154:18 | &... | string.swift:154:18:154:18 | [post] | +| string.swift:154:18:154:18 | &... | string.swift:154:18:154:18 | [post] &... | +| string.swift:154:18:154:18 | [post] &... | string.swift:154:13:154:13 | TapExpr | +| string.swift:160:7:160:7 | SSA def(clean) | string.swift:163:13:163:13 | clean | +| string.swift:160:15:160:15 | abcdef | string.swift:160:7:160:7 | SSA def(clean) | +| string.swift:161:7:161:7 | SSA def(tainted) | string.swift:164:13:164:13 | tainted | +| string.swift:161:17:161:25 | call to source2() | string.swift:161:7:161:7 | SSA def(tainted) | +| string.swift:163:13:163:13 | [post] clean | string.swift:166:13:166:13 | clean | +| string.swift:163:13:163:13 | clean | string.swift:166:13:166:13 | clean | +| string.swift:164:13:164:13 | [post] tainted | string.swift:167:21:167:21 | tainted | +| string.swift:164:13:164:13 | tainted | string.swift:167:21:167:21 | tainted | +| string.swift:166:13:166:13 | [post] clean | string.swift:166:21:166:21 | clean | +| string.swift:166:13:166:13 | clean | string.swift:166:13:166:21 | ... .+(_:_:) ... | +| string.swift:166:13:166:13 | clean | string.swift:166:21:166:21 | clean | +| string.swift:166:21:166:21 | [post] clean | string.swift:167:13:167:13 | clean | +| string.swift:166:21:166:21 | clean | string.swift:166:13:166:21 | ... .+(_:_:) ... | +| string.swift:166:21:166:21 | clean | string.swift:167:13:167:13 | clean | +| string.swift:167:13:167:13 | [post] clean | string.swift:168:23:168:23 | clean | +| string.swift:167:13:167:13 | clean | string.swift:167:13:167:21 | ... .+(_:_:) ... | +| string.swift:167:13:167:13 | clean | string.swift:168:23:168:23 | clean | +| string.swift:167:21:167:21 | [post] tainted | string.swift:168:13:168:13 | tainted | +| string.swift:167:21:167:21 | tainted | string.swift:167:13:167:21 | ... .+(_:_:) ... | +| string.swift:167:21:167:21 | tainted | string.swift:168:13:168:13 | tainted | +| string.swift:168:13:168:13 | [post] tainted | string.swift:169:13:169:13 | tainted | +| string.swift:168:13:168:13 | tainted | string.swift:168:13:168:23 | ... .+(_:_:) ... | +| string.swift:168:13:168:13 | tainted | string.swift:169:13:169:13 | tainted | +| string.swift:168:23:168:23 | [post] clean | string.swift:171:19:171:19 | clean | +| string.swift:168:23:168:23 | clean | string.swift:168:13:168:23 | ... .+(_:_:) ... | +| string.swift:168:23:168:23 | clean | string.swift:171:19:171:19 | clean | +| string.swift:169:13:169:13 | [post] tainted | string.swift:169:23:169:23 | tainted | +| string.swift:169:13:169:13 | tainted | string.swift:169:13:169:23 | ... .+(_:_:) ... | +| string.swift:169:13:169:13 | tainted | string.swift:169:23:169:23 | tainted | +| string.swift:169:23:169:23 | [post] tainted | string.swift:172:19:172:19 | tainted | +| string.swift:169:23:169:23 | tainted | string.swift:169:13:169:23 | ... .+(_:_:) ... | +| string.swift:169:23:169:23 | tainted | string.swift:172:19:172:19 | tainted | +| string.swift:171:13:171:13 | > | string.swift:171:13:171:19 | ... .+(_:_:) ... | +| string.swift:171:13:171:19 | ... .+(_:_:) ... | string.swift:171:13:171:27 | ... .+(_:_:) ... | +| string.swift:171:19:171:19 | [post] clean | string.swift:174:13:174:13 | clean | +| string.swift:171:19:171:19 | clean | string.swift:171:13:171:19 | ... .+(_:_:) ... | +| string.swift:171:19:171:19 | clean | string.swift:174:13:174:13 | clean | +| string.swift:171:27:171:27 | < | string.swift:171:13:171:27 | ... .+(_:_:) ... | +| string.swift:172:13:172:13 | > | string.swift:172:13:172:19 | ... .+(_:_:) ... | +| string.swift:172:13:172:19 | ... .+(_:_:) ... | string.swift:172:13:172:29 | ... .+(_:_:) ... | +| string.swift:172:19:172:19 | [post] tainted | string.swift:175:29:175:29 | tainted | +| string.swift:172:19:172:19 | tainted | string.swift:172:13:172:19 | ... .+(_:_:) ... | +| string.swift:172:19:172:19 | tainted | string.swift:175:29:175:29 | tainted | +| string.swift:172:29:172:29 | < | string.swift:172:13:172:29 | ... .+(_:_:) ... | +| string.swift:174:13:174:13 | [post] clean | string.swift:174:29:174:29 | clean | +| string.swift:174:13:174:13 | clean | string.swift:174:13:174:34 | call to appending(_:) | +| string.swift:174:13:174:13 | clean | string.swift:174:29:174:29 | clean | +| string.swift:174:29:174:29 | [post] clean | string.swift:175:13:175:13 | clean | +| string.swift:174:29:174:29 | clean | string.swift:174:13:174:34 | call to appending(_:) | +| string.swift:174:29:174:29 | clean | string.swift:175:13:175:13 | clean | +| string.swift:175:13:175:13 | [post] clean | string.swift:176:31:176:31 | clean | +| string.swift:175:13:175:13 | clean | string.swift:175:13:175:36 | call to appending(_:) | +| string.swift:175:13:175:13 | clean | string.swift:176:31:176:31 | clean | +| string.swift:175:29:175:29 | [post] tainted | string.swift:176:13:176:13 | tainted | +| string.swift:175:29:175:29 | tainted | string.swift:175:13:175:36 | call to appending(_:) | +| string.swift:175:29:175:29 | tainted | string.swift:176:13:176:13 | tainted | +| string.swift:176:13:176:13 | [post] tainted | string.swift:177:13:177:13 | tainted | +| string.swift:176:13:176:13 | tainted | string.swift:176:13:176:36 | call to appending(_:) | +| string.swift:176:13:176:13 | tainted | string.swift:177:13:177:13 | tainted | +| string.swift:176:31:176:31 | clean | string.swift:176:13:176:36 | call to appending(_:) | +| string.swift:177:13:177:13 | [post] tainted | string.swift:177:31:177:31 | tainted | +| string.swift:177:13:177:13 | tainted | string.swift:177:13:177:38 | call to appending(_:) | +| string.swift:177:13:177:13 | tainted | string.swift:177:31:177:31 | tainted | +| string.swift:177:31:177:31 | tainted | string.swift:177:13:177:38 | call to appending(_:) | +| string.swift:179:7:179:7 | SSA def(str) | string.swift:180:13:180:13 | str | +| string.swift:179:13:179:13 | abc | string.swift:179:7:179:7 | SSA def(str) | +| string.swift:180:13:180:13 | [post] str | string.swift:181:3:181:3 | str | +| string.swift:180:13:180:13 | str | string.swift:181:3:181:3 | str | +| string.swift:181:3:181:3 | &... | string.swift:182:13:182:13 | str | +| string.swift:181:3:181:3 | [post] &... | string.swift:182:13:182:13 | str | +| string.swift:181:3:181:3 | str | string.swift:181:3:181:3 | &... | +| string.swift:182:13:182:13 | [post] str | string.swift:183:3:183:3 | str | +| string.swift:182:13:182:13 | str | string.swift:183:3:183:3 | str | +| string.swift:183:3:183:3 | &... | string.swift:184:13:184:13 | str | +| string.swift:183:3:183:3 | [post] &... | string.swift:184:13:184:13 | str | +| string.swift:183:3:183:3 | str | string.swift:183:3:183:3 | &... | +| string.swift:186:7:186:7 | SSA def(str2) | string.swift:187:13:187:13 | str2 | +| string.swift:186:14:186:14 | abc | string.swift:186:7:186:7 | SSA def(str2) | +| string.swift:187:13:187:13 | [post] str2 | string.swift:188:3:188:3 | str2 | +| string.swift:187:13:187:13 | str2 | string.swift:188:3:188:3 | str2 | +| string.swift:188:3:188:3 | &... | string.swift:189:13:189:13 | str2 | +| string.swift:188:3:188:3 | [post] &... | string.swift:189:13:189:13 | str2 | +| string.swift:188:3:188:3 | str2 | string.swift:188:3:188:3 | &... | +| string.swift:188:15:188:15 | def | string.swift:188:3:188:3 | [post] &... | +| string.swift:189:13:189:13 | [post] str2 | string.swift:190:3:190:3 | str2 | +| string.swift:189:13:189:13 | str2 | string.swift:190:3:190:3 | str2 | +| string.swift:190:3:190:3 | &... | string.swift:191:13:191:13 | str2 | +| string.swift:190:3:190:3 | [post] &... | string.swift:191:13:191:13 | str2 | +| string.swift:190:3:190:3 | str2 | string.swift:190:3:190:3 | &... | +| string.swift:190:15:190:23 | call to source2() | string.swift:190:3:190:3 | [post] &... | +| string.swift:193:7:193:7 | SSA def(str3) | string.swift:194:13:194:13 | str3 | +| string.swift:193:14:193:14 | abc | string.swift:193:7:193:7 | SSA def(str3) | +| string.swift:194:13:194:13 | [post] str3 | string.swift:195:3:195:3 | str3 | +| string.swift:194:13:194:13 | str3 | string.swift:195:3:195:3 | str3 | +| string.swift:195:3:195:3 | &... | string.swift:196:13:196:13 | str3 | +| string.swift:195:3:195:3 | [post] &... | string.swift:196:13:196:13 | str3 | +| string.swift:195:3:195:3 | str3 | string.swift:195:3:195:3 | &... | +| string.swift:195:27:195:27 | def | string.swift:195:3:195:3 | [post] &... | +| string.swift:196:13:196:13 | [post] str3 | string.swift:197:3:197:3 | str3 | +| string.swift:196:13:196:13 | str3 | string.swift:197:3:197:3 | str3 | +| string.swift:197:3:197:3 | &... | string.swift:198:13:198:13 | str3 | +| string.swift:197:3:197:3 | [post] &... | string.swift:198:13:198:13 | str3 | +| string.swift:197:3:197:3 | str3 | string.swift:197:3:197:3 | &... | +| string.swift:197:27:197:35 | call to source2() | string.swift:197:3:197:3 | [post] &... | +| string.swift:200:7:200:7 | SSA def(str4) | string.swift:201:13:201:13 | str4 | +| string.swift:200:14:200:14 | abc | string.swift:200:7:200:7 | SSA def(str4) | +| string.swift:201:13:201:13 | [post] str4 | string.swift:202:3:202:3 | str4 | +| string.swift:201:13:201:13 | str4 | string.swift:202:3:202:3 | str4 | +| string.swift:202:3:202:3 | &... | string.swift:203:13:203:13 | str4 | +| string.swift:202:3:202:3 | [post] &... | string.swift:203:13:203:13 | str4 | +| string.swift:202:3:202:3 | str4 | string.swift:202:3:202:3 | &... | +| string.swift:202:14:202:14 | def | string.swift:202:3:202:3 | [post] &... | +| string.swift:203:13:203:13 | [post] str4 | string.swift:204:3:204:3 | str4 | +| string.swift:203:13:203:13 | str4 | string.swift:204:3:204:3 | str4 | +| string.swift:204:3:204:3 | &... | string.swift:205:13:205:13 | str4 | +| string.swift:204:3:204:3 | [post] &... | string.swift:205:13:205:13 | str4 | +| string.swift:204:3:204:3 | str4 | string.swift:204:3:204:3 | &... | +| string.swift:204:14:204:22 | call to source2() | string.swift:204:3:204:3 | [post] &... | +| string.swift:207:7:207:7 | SSA def(str5) | string.swift:208:13:208:13 | str5 | +| string.swift:207:14:207:14 | abc | string.swift:207:7:207:7 | SSA def(str5) | +| string.swift:208:13:208:13 | [post] str5 | string.swift:209:3:209:3 | str5 | +| string.swift:208:13:208:13 | str5 | string.swift:209:3:209:3 | str5 | +| string.swift:209:3:209:3 | &... | string.swift:209:38:209:38 | str5 | +| string.swift:209:3:209:3 | [post] &... | string.swift:209:38:209:38 | str5 | +| string.swift:209:3:209:3 | str5 | string.swift:209:3:209:3 | &... | +| string.swift:209:27:209:27 | abc | string.swift:209:3:209:3 | [post] &... | +| string.swift:209:38:209:38 | [post] str5 | string.swift:210:13:210:13 | str5 | +| string.swift:209:38:209:38 | str5 | string.swift:210:13:210:13 | str5 | +| string.swift:210:13:210:13 | [post] str5 | string.swift:211:3:211:3 | str5 | +| string.swift:210:13:210:13 | str5 | string.swift:211:3:211:3 | str5 | +| string.swift:211:3:211:3 | &... | string.swift:211:42:211:42 | str5 | +| string.swift:211:3:211:3 | [post] &... | string.swift:211:42:211:42 | str5 | +| string.swift:211:3:211:3 | str5 | string.swift:211:3:211:3 | &... | +| string.swift:211:27:211:35 | call to source2() | string.swift:211:3:211:3 | [post] &... | +| string.swift:211:42:211:42 | [post] str5 | string.swift:212:13:212:13 | str5 | +| string.swift:211:42:211:42 | str5 | string.swift:212:13:212:13 | str5 | +| string.swift:216:7:216:7 | SSA def(clean) | string.swift:220:20:220:20 | clean | +| string.swift:216:15:216:15 | | string.swift:216:7:216:7 | SSA def(clean) | +| string.swift:217:7:217:7 | SSA def(tainted) | string.swift:221:20:221:20 | tainted | +| string.swift:217:17:217:25 | call to source2() | string.swift:217:7:217:7 | SSA def(tainted) | +| string.swift:218:7:218:7 | SSA def(taintedInt) | string.swift:222:20:222:20 | taintedInt | +| string.swift:218:20:218:27 | call to source() | string.swift:218:7:218:7 | SSA def(taintedInt) | +| string.swift:220:20:220:20 | [post] clean | string.swift:232:31:232:31 | clean | +| string.swift:220:20:220:20 | clean | string.swift:220:13:220:25 | call to String.init(_:) | +| string.swift:220:20:220:20 | clean | string.swift:232:31:232:31 | clean | +| string.swift:221:20:221:20 | [post] tainted | string.swift:224:28:224:28 | tainted | +| string.swift:221:20:221:20 | tainted | string.swift:221:13:221:27 | call to String.init(_:) | +| string.swift:221:20:221:20 | tainted | string.swift:224:28:224:28 | tainted | +| string.swift:222:20:222:20 | [post] taintedInt | string.swift:230:46:230:46 | taintedInt | +| string.swift:222:20:222:20 | taintedInt | string.swift:222:13:222:30 | call to String.init(_:) | +| string.swift:222:20:222:20 | taintedInt | string.swift:230:46:230:46 | taintedInt | +| string.swift:224:28:224:28 | [post] tainted | string.swift:225:28:225:28 | tainted | +| string.swift:224:28:224:28 | tainted | string.swift:224:13:224:44 | call to String.init(format:_:) | +| string.swift:224:28:224:28 | tainted | string.swift:225:28:225:28 | tainted | +| string.swift:225:28:225:28 | [post] tainted | string.swift:226:28:226:28 | tainted | +| string.swift:225:28:225:28 | tainted | string.swift:225:13:225:50 | call to String.init(format:arguments:) | +| string.swift:225:28:225:28 | tainted | string.swift:226:28:226:28 | tainted | +| string.swift:225:48:225:49 | [...] | string.swift:225:13:225:50 | call to String.init(format:arguments:) | +| string.swift:226:28:226:28 | [post] tainted | string.swift:227:28:227:28 | tainted | +| string.swift:226:28:226:28 | tainted | string.swift:226:13:226:57 | call to String.init(format:locale:_:) | +| string.swift:226:28:226:28 | tainted | string.swift:227:28:227:28 | tainted | +| string.swift:227:28:227:28 | [post] tainted | string.swift:228:46:228:46 | tainted | +| string.swift:227:28:227:28 | tainted | string.swift:227:13:227:63 | call to String.init(format:locale:arguments:) | +| string.swift:227:28:227:28 | tainted | string.swift:228:46:228:46 | tainted | +| string.swift:228:46:228:46 | [post] tainted | string.swift:229:34:229:34 | tainted | +| string.swift:228:46:228:46 | tainted | string.swift:228:13:228:62 | call to localizedStringWithFormat(_:_:) | +| string.swift:228:46:228:46 | tainted | string.swift:229:34:229:34 | tainted | +| string.swift:228:55:228:61 | [...] | string.swift:228:13:228:62 | call to localizedStringWithFormat(_:_:) | +| string.swift:229:28:229:28 | %s | string.swift:229:13:229:41 | call to String.init(format:_:) | +| string.swift:229:34:229:34 | tainted | string.swift:233:31:233:31 | tainted | +| string.swift:230:28:230:28 | %i %i %i | string.swift:230:13:230:56 | call to String.init(format:_:) | +| string.swift:232:31:232:31 | [post] clean | string.swift:258:13:258:13 | clean | +| string.swift:232:31:232:31 | clean | string.swift:232:13:232:46 | call to String.init(repeating:count:) | +| string.swift:232:31:232:31 | clean | string.swift:258:13:258:13 | clean | +| string.swift:233:31:233:31 | [post] tainted | string.swift:235:13:235:13 | tainted | +| string.swift:233:31:233:31 | tainted | string.swift:233:13:233:48 | call to String.init(repeating:count:) | +| string.swift:233:31:233:31 | tainted | string.swift:235:13:235:13 | tainted | | string.swift:235:13:235:13 | [post] tainted | string.swift:236:13:236:13 | tainted | -| string.swift:235:13:235:13 | tainted | string.swift:235:13:235:32 | call to uppercased() | +| string.swift:235:13:235:13 | tainted | string.swift:235:13:235:33 | call to dropFirst(_:) | | string.swift:235:13:235:13 | tainted | string.swift:236:13:236:13 | tainted | | string.swift:236:13:236:13 | [post] tainted | string.swift:237:13:237:13 | tainted | -| string.swift:236:13:236:13 | tainted | string.swift:236:13:236:41 | call to lowercased(with:) | +| string.swift:236:13:236:13 | tainted | string.swift:236:13:236:32 | call to dropLast(_:) | | string.swift:236:13:236:13 | tainted | string.swift:237:13:237:13 | tainted | -| string.swift:237:13:237:13 | [post] tainted | string.swift:238:13:238:13 | tainted | -| string.swift:237:13:237:13 | tainted | string.swift:237:13:237:41 | call to uppercased(with:) | -| string.swift:237:13:237:13 | tainted | string.swift:238:13:238:13 | tainted | -| string.swift:238:13:238:13 | [post] tainted | string.swift:239:13:239:13 | tainted | -| string.swift:238:13:238:13 | tainted | string.swift:238:13:238:42 | call to capitalized(with:) | -| string.swift:238:13:238:13 | tainted | string.swift:239:13:239:13 | tainted | -| string.swift:239:13:239:13 | [post] tainted | string.swift:241:13:241:13 | tainted | -| string.swift:239:13:239:13 | tainted | string.swift:239:13:239:30 | call to reversed() | -| string.swift:239:13:239:13 | tainted | string.swift:241:13:241:13 | tainted | +| string.swift:237:13:237:13 | [post] tainted | string.swift:237:37:237:37 | tainted | +| string.swift:237:13:237:13 | tainted | string.swift:237:13:237:55 | call to substring(from:) | +| string.swift:237:13:237:13 | tainted | string.swift:237:37:237:37 | tainted | +| string.swift:237:37:237:37 | [post] tainted | string.swift:239:13:239:13 | tainted | +| string.swift:237:37:237:37 | tainted | string.swift:239:13:239:13 | tainted | +| string.swift:239:13:239:13 | [post] tainted | string.swift:240:13:240:13 | tainted | +| string.swift:239:13:239:13 | tainted | string.swift:239:13:239:32 | call to lowercased() | +| string.swift:239:13:239:13 | tainted | string.swift:240:13:240:13 | tainted | +| string.swift:240:13:240:13 | [post] tainted | string.swift:241:13:241:13 | tainted | +| string.swift:240:13:240:13 | tainted | string.swift:240:13:240:32 | call to uppercased() | +| string.swift:240:13:240:13 | tainted | string.swift:241:13:241:13 | tainted | | string.swift:241:13:241:13 | [post] tainted | string.swift:242:13:242:13 | tainted | -| string.swift:241:13:241:13 | tainted | string.swift:241:13:241:41 | call to split(separator:maxSplits:omittingEmptySubsequences:) | +| string.swift:241:13:241:13 | tainted | string.swift:241:13:241:41 | call to lowercased(with:) | | string.swift:241:13:241:13 | tainted | string.swift:242:13:242:13 | tainted | -| string.swift:242:13:242:13 | [post] tainted | string.swift:245:13:245:13 | tainted | -| string.swift:242:13:242:13 | tainted | string.swift:242:13:244:4 | call to split(maxSplits:omittingEmptySubsequences:whereSeparator:) | -| string.swift:242:13:242:13 | tainted | string.swift:245:13:245:13 | tainted | -| string.swift:243:5:243:5 | SSA def(c) | string.swift:243:18:243:18 | c | -| string.swift:243:5:243:5 | c | string.swift:243:5:243:5 | SSA def(c) | -| string.swift:245:13:245:13 | [post] tainted | string.swift:246:13:246:13 | tainted | -| string.swift:245:13:245:13 | tainted | string.swift:245:13:245:68 | call to trimmingCharacters(in:) | -| string.swift:245:13:245:13 | tainted | string.swift:246:13:246:13 | tainted | +| string.swift:242:13:242:13 | [post] tainted | string.swift:243:13:243:13 | tainted | +| string.swift:242:13:242:13 | tainted | string.swift:242:13:242:41 | call to uppercased(with:) | +| string.swift:242:13:242:13 | tainted | string.swift:243:13:243:13 | tainted | +| string.swift:243:13:243:13 | [post] tainted | string.swift:244:13:244:13 | tainted | +| string.swift:243:13:243:13 | tainted | string.swift:243:13:243:42 | call to capitalized(with:) | +| string.swift:243:13:243:13 | tainted | string.swift:244:13:244:13 | tainted | +| string.swift:244:13:244:13 | [post] tainted | string.swift:246:13:246:13 | tainted | +| string.swift:244:13:244:13 | tainted | string.swift:244:13:244:30 | call to reversed() | +| string.swift:244:13:244:13 | tainted | string.swift:246:13:246:13 | tainted | | string.swift:246:13:246:13 | [post] tainted | string.swift:247:13:247:13 | tainted | -| string.swift:246:13:246:13 | tainted | string.swift:246:13:246:70 | call to padding(toLength:withPad:startingAt:) | +| string.swift:246:13:246:13 | tainted | string.swift:246:13:246:41 | call to split(separator:maxSplits:omittingEmptySubsequences:) | | string.swift:246:13:246:13 | tainted | string.swift:247:13:247:13 | tainted | -| string.swift:246:52:246:52 | | string.swift:246:13:246:70 | call to padding(toLength:withPad:startingAt:) | -| string.swift:247:13:247:13 | [post] tainted | string.swift:248:13:248:13 | tainted | -| string.swift:247:13:247:13 | tainted | string.swift:247:13:247:69 | call to components(separatedBy:) | -| string.swift:247:13:247:13 | tainted | string.swift:248:13:248:13 | tainted | -| string.swift:248:13:248:13 | [post] tainted | string.swift:249:13:249:13 | tainted | -| string.swift:248:13:248:13 | tainted | string.swift:248:13:248:69 | call to components(separatedBy:) | -| string.swift:248:13:248:13 | tainted | string.swift:249:13:249:13 | tainted | -| string.swift:248:13:248:69 | call to components(separatedBy:) | string.swift:248:13:248:72 | ...[...] | -| string.swift:249:13:249:13 | [post] tainted | string.swift:250:13:250:13 | tainted | -| string.swift:249:13:249:13 | tainted | string.swift:249:13:249:40 | call to folding(options:locale:) | -| string.swift:249:13:249:13 | tainted | string.swift:250:13:250:13 | tainted | +| string.swift:247:13:247:13 | [post] tainted | string.swift:250:13:250:13 | tainted | +| string.swift:247:13:247:13 | tainted | string.swift:247:13:249:4 | call to split(maxSplits:omittingEmptySubsequences:whereSeparator:) | +| string.swift:247:13:247:13 | tainted | string.swift:250:13:250:13 | tainted | +| string.swift:248:5:248:5 | SSA def(c) | string.swift:248:18:248:18 | c | +| string.swift:248:5:248:5 | c | string.swift:248:5:248:5 | SSA def(c) | | string.swift:250:13:250:13 | [post] tainted | string.swift:251:13:251:13 | tainted | -| string.swift:250:13:250:13 | tainted | string.swift:250:13:250:55 | call to propertyListFromStringsFileFormat() | +| string.swift:250:13:250:13 | tainted | string.swift:250:13:250:68 | call to trimmingCharacters(in:) | | string.swift:250:13:250:13 | tainted | string.swift:251:13:251:13 | tainted | -| string.swift:251:13:251:13 | [post] tainted | string.swift:258:13:258:13 | tainted | -| string.swift:251:13:251:13 | tainted | string.swift:251:13:251:55 | call to propertyListFromStringsFileFormat() | -| string.swift:251:13:251:13 | tainted | string.swift:258:13:258:13 | tainted | -| string.swift:251:13:251:55 | call to propertyListFromStringsFileFormat() | string.swift:251:13:251:62 | ...[...] | -| string.swift:251:13:251:62 | ...[...] | string.swift:251:13:251:63 | ...! | -| string.swift:253:13:253:13 | [post] clean | string.swift:264:14:264:14 | clean | -| string.swift:253:13:253:13 | clean | string.swift:264:14:264:14 | clean | -| string.swift:254:5:254:5 | SSA def(line) | string.swift:255:15:255:15 | line | -| string.swift:254:5:254:5 | line | string.swift:254:5:254:5 | SSA def(line) | -| string.swift:254:11:254:11 | SSA def(stop) | string.swift:256:15:256:15 | stop | -| string.swift:254:11:254:11 | stop | string.swift:254:11:254:11 | SSA def(stop) | -| string.swift:258:13:258:13 | [post] tainted | string.swift:265:14:265:14 | tainted | -| string.swift:258:13:258:13 | tainted | string.swift:265:14:265:14 | tainted | +| string.swift:251:13:251:13 | [post] tainted | string.swift:252:13:252:13 | tainted | +| string.swift:251:13:251:13 | tainted | string.swift:251:13:251:70 | call to padding(toLength:withPad:startingAt:) | +| string.swift:251:13:251:13 | tainted | string.swift:252:13:252:13 | tainted | +| string.swift:251:52:251:52 | | string.swift:251:13:251:70 | call to padding(toLength:withPad:startingAt:) | +| string.swift:252:13:252:13 | [post] tainted | string.swift:253:13:253:13 | tainted | +| string.swift:252:13:252:13 | tainted | string.swift:252:13:252:69 | call to components(separatedBy:) | +| string.swift:252:13:252:13 | tainted | string.swift:253:13:253:13 | tainted | +| string.swift:253:13:253:13 | [post] tainted | string.swift:254:13:254:13 | tainted | +| string.swift:253:13:253:13 | tainted | string.swift:253:13:253:69 | call to components(separatedBy:) | +| string.swift:253:13:253:13 | tainted | string.swift:254:13:254:13 | tainted | +| string.swift:253:13:253:69 | call to components(separatedBy:) | string.swift:253:13:253:72 | ...[...] | +| string.swift:254:13:254:13 | [post] tainted | string.swift:255:13:255:13 | tainted | +| string.swift:254:13:254:13 | tainted | string.swift:254:13:254:40 | call to folding(options:locale:) | +| string.swift:254:13:254:13 | tainted | string.swift:255:13:255:13 | tainted | +| string.swift:255:13:255:13 | [post] tainted | string.swift:256:13:256:13 | tainted | +| string.swift:255:13:255:13 | tainted | string.swift:255:13:255:55 | call to propertyListFromStringsFileFormat() | +| string.swift:255:13:255:13 | tainted | string.swift:256:13:256:13 | tainted | +| string.swift:256:13:256:13 | [post] tainted | string.swift:263:13:263:13 | tainted | +| string.swift:256:13:256:13 | tainted | string.swift:256:13:256:55 | call to propertyListFromStringsFileFormat() | +| string.swift:256:13:256:13 | tainted | string.swift:263:13:263:13 | tainted | +| string.swift:256:13:256:55 | call to propertyListFromStringsFileFormat() | string.swift:256:13:256:62 | ...[...] | +| string.swift:256:13:256:62 | ...[...] | string.swift:256:13:256:63 | ...! | +| string.swift:258:13:258:13 | [post] clean | string.swift:269:14:269:14 | clean | +| string.swift:258:13:258:13 | clean | string.swift:269:14:269:14 | clean | | string.swift:259:5:259:5 | SSA def(line) | string.swift:260:15:260:15 | line | | string.swift:259:5:259:5 | line | string.swift:259:5:259:5 | SSA def(line) | | string.swift:259:11:259:11 | SSA def(stop) | string.swift:261:15:261:15 | stop | | string.swift:259:11:259:11 | stop | string.swift:259:11:259:11 | SSA def(stop) | -| string.swift:264:13:264:26 | [...] | string.swift:264:13:264:35 | call to joined(separator:) | -| string.swift:264:14:264:14 | clean | string.swift:264:21:264:21 | clean | -| string.swift:264:21:264:21 | clean | string.swift:265:23:265:23 | clean | -| string.swift:264:34:264:34 | default separator | string.swift:264:13:264:35 | call to joined(separator:) | -| string.swift:265:13:265:28 | [...] | string.swift:265:13:265:37 | call to joined(separator:) | -| string.swift:265:14:265:14 | tainted | string.swift:266:21:266:21 | tainted | -| string.swift:265:23:265:23 | clean | string.swift:266:14:266:14 | clean | -| string.swift:265:36:265:36 | default separator | string.swift:265:13:265:37 | call to joined(separator:) | -| string.swift:266:13:266:28 | [...] | string.swift:266:13:266:37 | call to joined(separator:) | -| string.swift:266:14:266:14 | clean | string.swift:269:13:269:13 | clean | -| string.swift:266:21:266:21 | tainted | string.swift:267:14:267:14 | tainted | -| string.swift:266:36:266:36 | default separator | string.swift:266:13:266:37 | call to joined(separator:) | -| string.swift:267:13:267:30 | [...] | string.swift:267:13:267:39 | call to joined(separator:) | -| string.swift:267:14:267:14 | tainted | string.swift:267:23:267:23 | tainted | -| string.swift:267:23:267:23 | tainted | string.swift:270:13:270:13 | tainted | -| string.swift:267:38:267:38 | default separator | string.swift:267:13:267:39 | call to joined(separator:) | -| string.swift:269:13:269:13 | [post] clean | string.swift:271:13:271:13 | clean | -| string.swift:269:13:269:13 | clean | string.swift:269:13:269:19 | .description | -| string.swift:269:13:269:13 | clean | string.swift:271:13:271:13 | clean | -| string.swift:270:13:270:13 | [post] tainted | string.swift:272:13:272:13 | tainted | -| string.swift:270:13:270:13 | tainted | string.swift:270:13:270:21 | .description | -| string.swift:270:13:270:13 | tainted | string.swift:272:13:272:13 | tainted | -| string.swift:271:13:271:13 | [post] clean | string.swift:273:13:273:13 | clean | -| string.swift:271:13:271:13 | clean | string.swift:271:13:271:19 | .debugDescription | -| string.swift:271:13:271:13 | clean | string.swift:273:13:273:13 | clean | -| string.swift:272:13:272:13 | [post] tainted | string.swift:274:13:274:13 | tainted | -| string.swift:272:13:272:13 | tainted | string.swift:272:13:272:21 | .debugDescription | -| string.swift:272:13:272:13 | tainted | string.swift:274:13:274:13 | tainted | -| string.swift:273:13:273:13 | [post] clean | string.swift:275:13:275:13 | clean | -| string.swift:273:13:273:13 | clean | string.swift:273:13:273:19 | .utf8 | -| string.swift:273:13:273:13 | clean | string.swift:275:13:275:13 | clean | -| string.swift:274:13:274:13 | [post] tainted | string.swift:276:13:276:13 | tainted | -| string.swift:274:13:274:13 | tainted | string.swift:274:13:274:21 | .utf8 | -| string.swift:274:13:274:13 | tainted | string.swift:276:13:276:13 | tainted | -| string.swift:275:13:275:13 | [post] clean | string.swift:277:13:277:13 | clean | -| string.swift:275:13:275:13 | clean | string.swift:275:13:275:19 | .utf16 | -| string.swift:275:13:275:13 | clean | string.swift:277:13:277:13 | clean | -| string.swift:276:13:276:13 | [post] tainted | string.swift:278:13:278:13 | tainted | -| string.swift:276:13:276:13 | tainted | string.swift:276:13:276:21 | .utf16 | -| string.swift:276:13:276:13 | tainted | string.swift:278:13:278:13 | tainted | -| string.swift:277:13:277:13 | [post] clean | string.swift:279:13:279:13 | clean | -| string.swift:277:13:277:13 | clean | string.swift:277:13:277:19 | .unicodeScalars | -| string.swift:277:13:277:13 | clean | string.swift:279:13:279:13 | clean | -| string.swift:278:13:278:13 | [post] tainted | string.swift:280:13:280:13 | tainted | -| string.swift:278:13:278:13 | tainted | string.swift:278:13:278:21 | .unicodeScalars | -| string.swift:278:13:278:13 | tainted | string.swift:280:13:280:13 | tainted | -| string.swift:279:13:279:13 | [post] clean | string.swift:281:13:281:13 | clean | -| string.swift:279:13:279:13 | clean | string.swift:279:13:279:19 | .utf8CString | -| string.swift:279:13:279:13 | clean | string.swift:281:13:281:13 | clean | -| string.swift:280:13:280:13 | [post] tainted | string.swift:282:13:282:13 | tainted | -| string.swift:280:13:280:13 | tainted | string.swift:280:13:280:21 | .utf8CString | -| string.swift:280:13:280:13 | tainted | string.swift:282:13:282:13 | tainted | -| string.swift:281:13:281:13 | [post] clean | string.swift:283:13:283:13 | clean | -| string.swift:281:13:281:13 | clean | string.swift:281:13:281:19 | .lazy | -| string.swift:281:13:281:13 | clean | string.swift:283:13:283:13 | clean | -| string.swift:282:13:282:13 | [post] tainted | string.swift:284:13:284:13 | tainted | -| string.swift:282:13:282:13 | tainted | string.swift:282:13:282:21 | .lazy | -| string.swift:282:13:282:13 | tainted | string.swift:284:13:284:13 | tainted | -| string.swift:283:13:283:13 | [post] clean | string.swift:285:13:285:13 | clean | -| string.swift:283:13:283:13 | clean | string.swift:283:13:283:19 | .capitalized | -| string.swift:283:13:283:13 | clean | string.swift:285:13:285:13 | clean | -| string.swift:284:13:284:13 | [post] tainted | string.swift:286:13:286:13 | tainted | -| string.swift:284:13:284:13 | tainted | string.swift:284:13:284:21 | .capitalized | -| string.swift:284:13:284:13 | tainted | string.swift:286:13:286:13 | tainted | -| string.swift:285:13:285:13 | [post] clean | string.swift:287:13:287:13 | clean | -| string.swift:285:13:285:13 | clean | string.swift:285:13:285:19 | .localizedCapitalized | -| string.swift:285:13:285:13 | clean | string.swift:287:13:287:13 | clean | -| string.swift:286:13:286:13 | [post] tainted | string.swift:288:13:288:13 | tainted | -| string.swift:286:13:286:13 | tainted | string.swift:286:13:286:21 | .localizedCapitalized | -| string.swift:286:13:286:13 | tainted | string.swift:288:13:288:13 | tainted | -| string.swift:287:13:287:13 | [post] clean | string.swift:289:13:289:13 | clean | -| string.swift:287:13:287:13 | clean | string.swift:287:13:287:19 | .localizedLowercase | -| string.swift:287:13:287:13 | clean | string.swift:289:13:289:13 | clean | -| string.swift:288:13:288:13 | [post] tainted | string.swift:290:13:290:13 | tainted | -| string.swift:288:13:288:13 | tainted | string.swift:288:13:288:21 | .localizedLowercase | -| string.swift:288:13:288:13 | tainted | string.swift:290:13:290:13 | tainted | -| string.swift:289:13:289:13 | [post] clean | string.swift:291:13:291:13 | clean | -| string.swift:289:13:289:13 | clean | string.swift:289:13:289:19 | .localizedUppercase | -| string.swift:289:13:289:13 | clean | string.swift:291:13:291:13 | clean | -| string.swift:290:13:290:13 | [post] tainted | string.swift:292:13:292:13 | tainted | -| string.swift:290:13:290:13 | tainted | string.swift:290:13:290:21 | .localizedUppercase | -| string.swift:290:13:290:13 | tainted | string.swift:292:13:292:13 | tainted | -| string.swift:291:13:291:13 | [post] clean | string.swift:293:13:293:13 | clean | -| string.swift:291:13:291:13 | clean | string.swift:291:13:291:19 | .decomposedStringWithCanonicalMapping | -| string.swift:291:13:291:13 | clean | string.swift:293:13:293:13 | clean | -| string.swift:292:13:292:13 | [post] tainted | string.swift:294:13:294:13 | tainted | -| string.swift:292:13:292:13 | tainted | string.swift:292:13:292:21 | .decomposedStringWithCanonicalMapping | -| string.swift:292:13:292:13 | tainted | string.swift:294:13:294:13 | tainted | -| string.swift:293:13:293:13 | [post] clean | string.swift:295:13:295:13 | clean | -| string.swift:293:13:293:13 | clean | string.swift:293:13:293:19 | .precomposedStringWithCompatibilityMapping | -| string.swift:293:13:293:13 | clean | string.swift:295:13:295:13 | clean | -| string.swift:294:13:294:13 | [post] tainted | string.swift:296:13:296:13 | tainted | -| string.swift:294:13:294:13 | tainted | string.swift:294:13:294:21 | .precomposedStringWithCompatibilityMapping | -| string.swift:294:13:294:13 | tainted | string.swift:296:13:296:13 | tainted | -| string.swift:295:13:295:13 | clean | string.swift:295:13:295:19 | .removingPercentEncoding | -| string.swift:295:13:295:19 | .removingPercentEncoding | string.swift:295:13:295:42 | ...! | -| string.swift:296:13:296:13 | tainted | string.swift:296:13:296:21 | .removingPercentEncoding | -| string.swift:296:13:296:21 | .removingPercentEncoding | string.swift:296:13:296:44 | ...! | -| string.swift:300:7:300:7 | SSA def(str1) | string.swift:301:13:301:13 | str1 | -| string.swift:300:14:300:22 | call to source2() | string.swift:300:7:300:7 | SSA def(str1) | -| string.swift:301:13:301:13 | [post] str1 | string.swift:302:13:302:13 | str1 | -| string.swift:301:13:301:13 | str1 | string.swift:302:13:302:13 | str1 | -| string.swift:302:13:302:13 | &... | string.swift:302:13:302:44 | call to remove(at:) | -| string.swift:302:13:302:13 | &... | string.swift:302:29:302:29 | str1 | -| string.swift:302:13:302:13 | [post] &... | string.swift:302:29:302:29 | str1 | -| string.swift:302:13:302:13 | str1 | string.swift:302:13:302:13 | &... | -| string.swift:302:29:302:29 | [post] str1 | string.swift:303:13:303:13 | str1 | -| string.swift:302:29:302:29 | str1 | string.swift:303:13:303:13 | str1 | -| string.swift:305:7:305:7 | SSA def(str2) | string.swift:306:13:306:13 | str2 | -| string.swift:305:14:305:22 | call to source2() | string.swift:305:7:305:7 | SSA def(str2) | -| string.swift:306:13:306:13 | [post] str2 | string.swift:307:3:307:3 | str2 | -| string.swift:306:13:306:13 | str2 | string.swift:307:3:307:3 | str2 | -| string.swift:307:3:307:3 | &... | string.swift:308:13:308:13 | str2 | -| string.swift:307:3:307:3 | [post] &... | string.swift:308:13:308:13 | str2 | -| string.swift:307:3:307:3 | str2 | string.swift:307:3:307:3 | &... | -| string.swift:310:7:310:7 | SSA def(str3) | string.swift:311:13:311:13 | str3 | -| string.swift:310:14:310:22 | call to source2() | string.swift:310:7:310:7 | SSA def(str3) | -| string.swift:311:13:311:13 | [post] str3 | string.swift:312:3:312:3 | str3 | -| string.swift:311:13:311:13 | str3 | string.swift:312:3:312:3 | str3 | -| string.swift:312:3:312:3 | &... | string.swift:313:13:313:13 | str3 | -| string.swift:312:3:312:3 | [post] &... | string.swift:313:13:313:13 | str3 | -| string.swift:312:3:312:3 | str3 | string.swift:312:3:312:3 | &... | -| string.swift:315:7:315:7 | SSA def(str4) | string.swift:316:13:316:13 | str4 | -| string.swift:315:14:315:22 | call to source2() | string.swift:315:7:315:7 | SSA def(str4) | -| string.swift:316:13:316:13 | [post] str4 | string.swift:317:13:317:13 | str4 | -| string.swift:316:13:316:13 | str4 | string.swift:317:13:317:13 | str4 | -| string.swift:317:13:317:13 | &... | string.swift:317:13:317:30 | call to removeFirst() | -| string.swift:317:13:317:13 | &... | string.swift:318:13:318:13 | str4 | -| string.swift:317:13:317:13 | [post] &... | string.swift:318:13:318:13 | str4 | -| string.swift:317:13:317:13 | str4 | string.swift:317:13:317:13 | &... | -| string.swift:318:13:318:13 | [post] str4 | string.swift:319:3:319:3 | str4 | -| string.swift:318:13:318:13 | str4 | string.swift:319:3:319:3 | str4 | -| string.swift:319:3:319:3 | &... | string.swift:320:13:320:13 | str4 | -| string.swift:319:3:319:3 | [post] &... | string.swift:320:13:320:13 | str4 | -| string.swift:319:3:319:3 | str4 | string.swift:319:3:319:3 | &... | -| string.swift:320:13:320:13 | [post] str4 | string.swift:321:13:321:13 | str4 | -| string.swift:320:13:320:13 | str4 | string.swift:321:13:321:13 | str4 | -| string.swift:321:13:321:13 | &... | string.swift:321:13:321:29 | call to removeLast() | -| string.swift:321:13:321:13 | &... | string.swift:322:13:322:13 | str4 | -| string.swift:321:13:321:13 | [post] &... | string.swift:322:13:322:13 | str4 | -| string.swift:321:13:321:13 | str4 | string.swift:321:13:321:13 | &... | -| string.swift:322:13:322:13 | [post] str4 | string.swift:323:3:323:3 | str4 | -| string.swift:322:13:322:13 | str4 | string.swift:323:3:323:3 | str4 | -| string.swift:323:3:323:3 | &... | string.swift:324:13:324:13 | str4 | -| string.swift:323:3:323:3 | [post] &... | string.swift:324:13:324:13 | str4 | -| string.swift:323:3:323:3 | str4 | string.swift:323:3:323:3 | &... | -| string.swift:326:7:326:7 | SSA def(str5) | string.swift:327:13:327:13 | str5 | -| string.swift:326:14:326:22 | call to source2() | string.swift:326:7:326:7 | SSA def(str5) | -| string.swift:327:13:327:13 | [post] str5 | string.swift:328:3:328:3 | str5 | -| string.swift:327:13:327:13 | str5 | string.swift:328:3:328:3 | str5 | -| string.swift:328:3:328:3 | &... | string.swift:328:23:328:23 | str5 | -| string.swift:328:3:328:3 | [post] &... | string.swift:328:23:328:23 | str5 | -| string.swift:328:3:328:3 | str5 | string.swift:328:3:328:3 | &... | -| string.swift:328:23:328:23 | [post] str5 | string.swift:328:43:328:43 | str5 | -| string.swift:328:23:328:23 | str5 | string.swift:328:43:328:43 | str5 | -| string.swift:328:43:328:43 | [post] str5 | string.swift:328:54:328:54 | str5 | -| string.swift:328:43:328:43 | str5 | string.swift:328:54:328:54 | str5 | -| string.swift:328:54:328:54 | [post] str5 | string.swift:329:13:329:13 | str5 | -| string.swift:328:54:328:54 | str5 | string.swift:329:13:329:13 | str5 | -| string.swift:331:7:331:7 | SSA def(str6) | string.swift:332:13:332:13 | str6 | -| string.swift:331:14:331:22 | call to source2() | string.swift:331:7:331:7 | SSA def(str6) | -| string.swift:332:13:332:13 | [post] str6 | string.swift:333:3:333:3 | str6 | -| string.swift:332:13:332:13 | str6 | string.swift:333:3:333:3 | str6 | -| string.swift:333:3:333:3 | &... | string.swift:334:13:334:13 | str6 | -| string.swift:333:3:333:3 | [post] &... | string.swift:334:13:334:13 | str6 | -| string.swift:333:3:333:3 | str6 | string.swift:333:3:333:3 | &... | -| string.swift:337:38:337:38 | | string.swift:337:33:337:40 | call to Data.init(_:) | -| string.swift:340:7:340:7 | SSA def(stringClean) | string.swift:343:12:343:12 | stringClean | -| string.swift:340:21:340:74 | call to String.init(data:encoding:) | string.swift:340:7:340:7 | SSA def(stringClean) | -| string.swift:340:34:340:41 | call to Data.init(_:) | string.swift:340:21:340:74 | call to String.init(data:encoding:) | -| string.swift:340:39:340:39 | | string.swift:340:34:340:41 | call to Data.init(_:) | -| string.swift:341:7:341:7 | SSA def(stringTainted) | string.swift:344:12:344:12 | stringTainted | -| string.swift:341:23:341:77 | call to String.init(data:encoding:) | string.swift:341:7:341:7 | SSA def(stringTainted) | -| string.swift:341:36:341:44 | call to source3() | string.swift:341:23:341:77 | call to String.init(data:encoding:) | -| string.swift:343:12:343:12 | stringClean | string.swift:343:12:343:23 | ...! | -| string.swift:344:12:344:12 | stringTainted | string.swift:344:12:344:25 | ...! | -| string.swift:346:30:346:37 | call to Data.init(_:) | string.swift:346:13:346:53 | call to String.init(decoding:as:) | -| string.swift:346:35:346:35 | | string.swift:346:30:346:37 | call to Data.init(_:) | -| string.swift:347:30:347:38 | call to source3() | string.swift:347:13:347:54 | call to String.init(decoding:as:) | -| string.swift:351:7:351:7 | SSA def(clean) | string.swift:354:3:354:3 | clean | -| string.swift:351:15:351:15 | | string.swift:351:7:351:7 | SSA def(clean) | -| string.swift:352:7:352:7 | SSA def(tainted) | string.swift:359:3:359:3 | tainted | -| string.swift:352:17:352:25 | call to source2() | string.swift:352:7:352:7 | SSA def(tainted) | -| string.swift:354:3:354:3 | &... | string.swift:365:3:365:3 | clean | -| string.swift:354:3:354:3 | [post] &... | string.swift:365:3:365:3 | clean | -| string.swift:354:3:354:3 | clean | string.swift:354:3:354:3 | &... | -| string.swift:355:5:355:5 | SSA def(buffer) | string.swift:356:15:356:15 | buffer | -| string.swift:355:5:355:5 | buffer | string.swift:355:5:355:5 | SSA def(buffer) | -| string.swift:356:15:356:15 | buffer | string.swift:357:15:357:15 | buffer | -| string.swift:357:15:357:22 | .baseAddress | string.swift:357:15:357:33 | ...! | -| string.swift:359:3:359:3 | &... | string.swift:369:3:369:3 | tainted | -| string.swift:359:3:359:3 | [post] &... | string.swift:369:3:369:3 | tainted | -| string.swift:359:3:359:3 | tainted | string.swift:359:3:359:3 | &... | -| string.swift:360:5:360:5 | SSA def(buffer) | string.swift:361:15:361:15 | buffer | -| string.swift:360:5:360:5 | buffer | string.swift:360:5:360:5 | SSA def(buffer) | -| string.swift:361:15:361:15 | buffer | string.swift:362:15:362:15 | buffer | -| string.swift:362:15:362:22 | .baseAddress | string.swift:362:15:362:33 | ...! | -| string.swift:365:3:365:3 | [post] clean | string.swift:373:3:373:3 | clean | -| string.swift:365:3:365:3 | clean | string.swift:373:3:373:3 | clean | -| string.swift:366:5:366:5 | SSA def(ptr) | string.swift:367:15:367:15 | ptr | -| string.swift:366:5:366:5 | ptr | string.swift:366:5:366:5 | SSA def(ptr) | -| string.swift:369:3:369:3 | [post] tainted | string.swift:377:3:377:3 | tainted | -| string.swift:369:3:369:3 | tainted | string.swift:377:3:377:3 | tainted | -| string.swift:370:5:370:5 | SSA def(ptr) | string.swift:371:15:371:15 | ptr | -| string.swift:370:5:370:5 | ptr | string.swift:370:5:370:5 | SSA def(ptr) | -| string.swift:373:3:373:3 | [post] clean | string.swift:382:22:382:22 | clean | -| string.swift:373:3:373:3 | clean | string.swift:382:22:382:22 | clean | -| string.swift:374:5:374:5 | SSA def(ptr) | string.swift:375:15:375:15 | ptr | -| string.swift:374:5:374:5 | ptr | string.swift:374:5:374:5 | SSA def(ptr) | -| string.swift:377:3:377:3 | [post] tainted | string.swift:389:22:389:22 | tainted | -| string.swift:377:3:377:3 | tainted | string.swift:389:22:389:22 | tainted | -| string.swift:378:5:378:5 | SSA def(ptr) | string.swift:379:15:379:15 | ptr | -| string.swift:378:5:378:5 | ptr | string.swift:378:5:378:5 | SSA def(ptr) | -| string.swift:382:7:382:7 | SSA def(arrayString1) | string.swift:383:13:383:13 | arrayString1 | -| string.swift:382:22:382:22 | [post] clean | string.swift:397:3:397:3 | clean | -| string.swift:382:22:382:22 | clean | string.swift:382:22:382:63 | call to cString(using:) | -| string.swift:382:22:382:22 | clean | string.swift:397:3:397:3 | clean | -| string.swift:382:22:382:63 | call to cString(using:) | string.swift:382:22:382:64 | ...! | -| string.swift:382:22:382:64 | ...! | string.swift:382:7:382:7 | SSA def(arrayString1) | -| string.swift:383:13:383:13 | arrayString1 | string.swift:384:3:384:3 | arrayString1 | -| string.swift:384:3:384:3 | [post] arrayString1 | string.swift:391:3:391:3 | arrayString1 | -| string.swift:384:3:384:3 | arrayString1 | string.swift:391:3:391:3 | arrayString1 | -| string.swift:385:5:385:5 | SSA def(buffer) | string.swift:386:15:386:15 | buffer | -| string.swift:385:5:385:5 | buffer | string.swift:385:5:385:5 | SSA def(buffer) | -| string.swift:386:15:386:15 | buffer | string.swift:387:31:387:31 | buffer | -| string.swift:387:31:387:38 | .baseAddress | string.swift:387:31:387:49 | ...! | -| string.swift:387:31:387:49 | ...! | string.swift:387:15:387:50 | call to String.init(cString:) | -| string.swift:389:7:389:7 | SSA def(arrayString2) | string.swift:390:13:390:13 | arrayString2 | -| string.swift:389:22:389:22 | [post] tainted | string.swift:408:3:408:3 | tainted | -| string.swift:389:22:389:22 | tainted | string.swift:389:22:389:65 | call to cString(using:) | -| string.swift:389:22:389:22 | tainted | string.swift:408:3:408:3 | tainted | -| string.swift:389:22:389:65 | call to cString(using:) | string.swift:389:22:389:66 | ...! | -| string.swift:389:22:389:66 | ...! | string.swift:389:7:389:7 | SSA def(arrayString2) | -| string.swift:392:5:392:5 | SSA def(buffer) | string.swift:393:15:393:15 | buffer | -| string.swift:392:5:392:5 | buffer | string.swift:392:5:392:5 | SSA def(buffer) | -| string.swift:393:15:393:15 | buffer | string.swift:394:31:394:31 | buffer | -| string.swift:394:31:394:38 | .baseAddress | string.swift:394:31:394:49 | ...! | -| string.swift:394:31:394:49 | ...! | string.swift:394:15:394:50 | call to String.init(cString:) | -| string.swift:397:3:397:3 | [post] clean | string.swift:420:3:420:3 | clean | -| string.swift:397:3:397:3 | clean | string.swift:420:3:420:3 | clean | -| string.swift:398:5:398:5 | SSA def(ptr) | string.swift:399:15:399:15 | ptr | -| string.swift:398:5:398:5 | ptr | string.swift:398:5:398:5 | SSA def(ptr) | -| string.swift:399:15:399:15 | ptr | string.swift:400:38:400:38 | ptr | -| string.swift:400:38:400:38 | ptr | string.swift:400:15:400:41 | call to String.init(platformString:) | -| string.swift:400:38:400:38 | ptr | string.swift:402:45:402:45 | ptr | -| string.swift:402:9:402:9 | SSA def(buffer) | string.swift:403:29:403:29 | buffer | -| string.swift:402:18:402:59 | call to UnsafeBufferPointer.init(start:count:) | string.swift:402:9:402:9 | SSA def(buffer) | -| string.swift:403:9:403:9 | SSA def(arrayString) | string.swift:405:15:405:15 | arrayString | -| string.swift:403:23:403:35 | call to Array.init(_:) | string.swift:403:9:403:9 | SSA def(arrayString) | -| string.swift:403:29:403:29 | buffer | string.swift:404:15:404:15 | buffer | -| string.swift:405:15:405:15 | arrayString | string.swift:406:38:406:38 | arrayString | -| string.swift:406:38:406:38 | arrayString | string.swift:406:15:406:49 | call to String.init(platformString:) | -| string.swift:408:3:408:3 | [post] tainted | string.swift:425:3:425:3 | tainted | -| string.swift:408:3:408:3 | tainted | string.swift:425:3:425:3 | tainted | -| string.swift:409:5:409:5 | SSA def(ptr) | string.swift:410:15:410:15 | ptr | -| string.swift:409:5:409:5 | ptr | string.swift:409:5:409:5 | SSA def(ptr) | -| string.swift:410:15:410:15 | ptr | string.swift:411:38:411:38 | ptr | -| string.swift:411:38:411:38 | ptr | string.swift:411:15:411:41 | call to String.init(platformString:) | -| string.swift:411:38:411:38 | ptr | string.swift:413:45:413:45 | ptr | -| string.swift:413:9:413:9 | SSA def(buffer) | string.swift:414:29:414:29 | buffer | -| string.swift:413:18:413:59 | call to UnsafeBufferPointer.init(start:count:) | string.swift:413:9:413:9 | SSA def(buffer) | -| string.swift:414:9:414:9 | SSA def(arrayString) | string.swift:416:15:416:15 | arrayString | -| string.swift:414:23:414:35 | call to Array.init(_:) | string.swift:414:9:414:9 | SSA def(arrayString) | -| string.swift:414:29:414:29 | buffer | string.swift:415:15:415:15 | buffer | -| string.swift:416:15:416:15 | arrayString | string.swift:417:38:417:38 | arrayString | -| string.swift:417:38:417:38 | arrayString | string.swift:417:15:417:49 | call to String.init(platformString:) | -| string.swift:421:5:421:5 | SSA def(ptr) | string.swift:422:15:422:15 | ptr | -| string.swift:421:5:421:5 | ptr | string.swift:421:5:421:5 | SSA def(ptr) | -| string.swift:422:15:422:15 | ptr | string.swift:423:15:423:15 | ptr | -| string.swift:423:15:423:19 | .baseAddress | string.swift:423:15:423:30 | ...! | -| string.swift:426:5:426:5 | SSA def(ptr) | string.swift:427:15:427:15 | ptr | -| string.swift:426:5:426:5 | ptr | string.swift:426:5:426:5 | SSA def(ptr) | -| string.swift:427:15:427:15 | ptr | string.swift:428:15:428:15 | ptr | -| string.swift:428:15:428:19 | .baseAddress | string.swift:428:15:428:30 | ...! | -| string.swift:435:7:435:31 | SSA def(cleanUInt8Values) | string.swift:455:27:455:27 | cleanUInt8Values | -| string.swift:435:35:435:55 | [...] | string.swift:435:7:435:31 | SSA def(cleanUInt8Values) | -| string.swift:436:7:436:7 | SSA def(taintedUInt8Values) | string.swift:456:27:456:27 | taintedUInt8Values | -| string.swift:436:28:436:36 | call to source4() | string.swift:436:7:436:7 | SSA def(taintedUInt8Values) | -| string.swift:439:6:439:46 | SSA def(buffer) | string.swift:440:17:440:17 | buffer | -| string.swift:439:6:439:46 | buffer | string.swift:439:6:439:46 | SSA def(buffer) | -| string.swift:440:17:440:17 | buffer | string.swift:441:15:441:15 | buffer | -| string.swift:441:15:441:15 | [post] buffer | string.swift:442:17:442:17 | buffer | -| string.swift:441:15:441:15 | buffer | string.swift:442:17:442:17 | buffer | -| string.swift:447:6:447:46 | SSA def(buffer) | string.swift:448:17:448:17 | buffer | -| string.swift:447:6:447:46 | buffer | string.swift:447:6:447:46 | SSA def(buffer) | -| string.swift:448:17:448:17 | buffer | string.swift:449:15:449:15 | buffer | -| string.swift:449:15:449:15 | [post] buffer | string.swift:450:17:450:17 | buffer | -| string.swift:449:15:449:15 | buffer | string.swift:450:17:450:17 | buffer | -| string.swift:455:13:455:75 | call to String.init(bytes:encoding:) | string.swift:455:13:455:76 | ...! | -| string.swift:455:27:455:27 | cleanUInt8Values | string.swift:455:13:455:75 | call to String.init(bytes:encoding:) | -| string.swift:455:27:455:27 | cleanUInt8Values | string.swift:458:29:458:29 | cleanUInt8Values | -| string.swift:456:13:456:77 | call to String.init(bytes:encoding:) | string.swift:456:13:456:78 | ...! | -| string.swift:456:27:456:27 | taintedUInt8Values | string.swift:456:13:456:77 | call to String.init(bytes:encoding:) | -| string.swift:456:27:456:27 | taintedUInt8Values | string.swift:459:29:459:29 | taintedUInt8Values | -| string.swift:458:29:458:29 | cleanUInt8Values | string.swift:458:13:458:45 | call to String.init(cString:) | -| string.swift:458:29:458:29 | cleanUInt8Values | string.swift:461:8:461:8 | cleanUInt8Values | -| string.swift:459:29:459:29 | taintedUInt8Values | string.swift:459:13:459:47 | call to String.init(cString:) | -| string.swift:459:29:459:29 | taintedUInt8Values | string.swift:467:8:467:8 | taintedUInt8Values | -| string.swift:461:8:461:8 | [post] cleanUInt8Values | string.swift:474:8:474:8 | cleanUInt8Values | -| string.swift:461:8:461:8 | cleanUInt8Values | string.swift:474:8:474:8 | cleanUInt8Values | -| string.swift:461:8:466:4 | call to withUnsafeBufferPointer(_:) | string.swift:461:3:466:4 | try! ... | -| string.swift:462:6:462:39 | SSA def(buffer) | string.swift:463:15:463:15 | buffer | -| string.swift:462:6:462:39 | buffer | string.swift:462:6:462:39 | SSA def(buffer) | -| string.swift:463:15:463:15 | buffer | string.swift:464:15:464:15 | buffer | -| string.swift:464:15:464:15 | [post] buffer | string.swift:465:31:465:31 | buffer | -| string.swift:464:15:464:15 | buffer | string.swift:465:31:465:31 | buffer | -| string.swift:464:15:464:22 | .baseAddress | string.swift:464:15:464:33 | ...! | -| string.swift:465:31:465:38 | .baseAddress | string.swift:465:31:465:49 | ...! | -| string.swift:465:31:465:49 | ...! | string.swift:465:15:465:50 | call to String.init(cString:) | -| string.swift:467:8:467:8 | [post] taintedUInt8Values | string.swift:480:8:480:8 | taintedUInt8Values | -| string.swift:467:8:467:8 | taintedUInt8Values | string.swift:480:8:480:8 | taintedUInt8Values | -| string.swift:467:8:472:4 | call to withUnsafeBufferPointer(_:) | string.swift:467:3:472:4 | try! ... | -| string.swift:468:6:468:39 | SSA def(buffer) | string.swift:469:15:469:15 | buffer | -| string.swift:468:6:468:39 | buffer | string.swift:468:6:468:39 | SSA def(buffer) | -| string.swift:469:15:469:15 | buffer | string.swift:470:15:470:15 | buffer | -| string.swift:470:15:470:15 | [post] buffer | string.swift:471:31:471:31 | buffer | -| string.swift:470:15:470:15 | buffer | string.swift:471:31:471:31 | buffer | -| string.swift:470:15:470:22 | .baseAddress | string.swift:470:15:470:33 | ...! | -| string.swift:471:31:471:38 | .baseAddress | string.swift:471:31:471:49 | ...! | -| string.swift:471:31:471:49 | ...! | string.swift:471:15:471:50 | call to String.init(cString:) | -| string.swift:474:8:474:8 | cleanUInt8Values | string.swift:474:8:474:8 | &... | -| string.swift:474:8:479:4 | call to withUnsafeMutableBytes(_:) | string.swift:474:3:479:4 | try! ... | -| string.swift:475:6:475:14 | SSA def(buffer) | string.swift:476:15:476:15 | buffer | -| string.swift:475:6:475:14 | buffer | string.swift:475:6:475:14 | SSA def(buffer) | -| string.swift:476:15:476:15 | [post] buffer | string.swift:477:15:477:15 | buffer | -| string.swift:476:15:476:15 | buffer | string.swift:477:15:477:15 | buffer | -| string.swift:477:15:477:15 | [post] buffer | string.swift:478:35:478:35 | buffer | -| string.swift:477:15:477:15 | buffer | string.swift:478:35:478:35 | buffer | -| string.swift:477:15:477:22 | .baseAddress | string.swift:477:15:477:33 | ...! | -| string.swift:478:15:478:129 | call to String.init(bytesNoCopy:length:encoding:freeWhenDone:) | string.swift:478:15:478:130 | ...! | -| string.swift:478:35:478:35 | [post] buffer | string.swift:478:64:478:64 | buffer | -| string.swift:478:35:478:35 | buffer | string.swift:478:64:478:64 | buffer | -| string.swift:478:35:478:42 | .baseAddress | string.swift:478:35:478:53 | ...! | -| string.swift:480:8:480:8 | taintedUInt8Values | string.swift:480:8:480:8 | &... | -| string.swift:480:8:485:4 | call to withUnsafeMutableBytes(_:) | string.swift:480:3:485:4 | try! ... | -| string.swift:481:6:481:14 | SSA def(buffer) | string.swift:482:15:482:15 | buffer | -| string.swift:481:6:481:14 | buffer | string.swift:481:6:481:14 | SSA def(buffer) | -| string.swift:482:15:482:15 | [post] buffer | string.swift:483:15:483:15 | buffer | -| string.swift:482:15:482:15 | buffer | string.swift:483:15:483:15 | buffer | -| string.swift:483:15:483:15 | [post] buffer | string.swift:484:35:484:35 | buffer | -| string.swift:483:15:483:15 | buffer | string.swift:484:35:484:35 | buffer | -| string.swift:483:15:483:22 | .baseAddress | string.swift:483:15:483:33 | ...! | -| string.swift:484:15:484:129 | call to String.init(bytesNoCopy:length:encoding:freeWhenDone:) | string.swift:484:15:484:130 | ...! | -| string.swift:484:35:484:35 | [post] buffer | string.swift:484:64:484:64 | buffer | -| string.swift:484:35:484:35 | buffer | string.swift:484:64:484:64 | buffer | -| string.swift:484:35:484:42 | .baseAddress | string.swift:484:35:484:53 | ...! | -| string.swift:491:7:491:31 | SSA def(cleanCCharValues) | string.swift:494:3:494:3 | cleanCCharValues | -| string.swift:491:35:491:55 | [...] | string.swift:491:7:491:31 | SSA def(cleanCCharValues) | -| string.swift:492:7:492:33 | SSA def(taintedCCharValues) | string.swift:502:3:502:3 | taintedCCharValues | -| string.swift:492:37:492:45 | call to source5() | string.swift:492:7:492:33 | SSA def(taintedCCharValues) | -| string.swift:494:3:494:3 | [post] cleanCCharValues | string.swift:511:29:511:29 | cleanCCharValues | -| string.swift:494:3:494:3 | cleanCCharValues | string.swift:511:29:511:29 | cleanCCharValues | -| string.swift:495:5:495:5 | SSA def(ptr) | string.swift:496:15:496:15 | ptr | -| string.swift:495:5:495:5 | ptr | string.swift:495:5:495:5 | SSA def(ptr) | -| string.swift:496:15:496:15 | ptr | string.swift:497:15:497:15 | ptr | -| string.swift:497:15:497:15 | [post] ptr | string.swift:498:34:498:34 | ptr | -| string.swift:497:15:497:15 | ptr | string.swift:498:34:498:34 | ptr | -| string.swift:497:15:497:19 | .baseAddress | string.swift:497:15:497:30 | ...! | -| string.swift:498:15:498:50 | call to String.init(utf8String:) | string.swift:498:15:498:51 | ...! | -| string.swift:498:34:498:34 | [post] ptr | string.swift:499:38:499:38 | ptr | -| string.swift:498:34:498:34 | ptr | string.swift:499:38:499:38 | ptr | -| string.swift:498:34:498:38 | .baseAddress | string.swift:498:34:498:49 | ...! | -| string.swift:498:34:498:49 | ...! | string.swift:498:15:498:50 | call to String.init(utf8String:) | -| string.swift:499:15:499:54 | call to String.init(validatingUTF8:) | string.swift:499:15:499:55 | ...! | -| string.swift:499:38:499:38 | [post] ptr | string.swift:500:31:500:31 | ptr | -| string.swift:499:38:499:38 | ptr | string.swift:500:31:500:31 | ptr | -| string.swift:499:38:499:42 | .baseAddress | string.swift:499:38:499:53 | ...! | -| string.swift:499:38:499:53 | ...! | string.swift:499:15:499:54 | call to String.init(validatingUTF8:) | -| string.swift:500:31:500:35 | .baseAddress | string.swift:500:31:500:46 | ...! | -| string.swift:500:31:500:46 | ...! | string.swift:500:15:500:47 | call to String.init(cString:) | -| string.swift:502:3:502:3 | [post] taintedCCharValues | string.swift:512:29:512:29 | taintedCCharValues | -| string.swift:502:3:502:3 | taintedCCharValues | string.swift:512:29:512:29 | taintedCCharValues | -| string.swift:503:5:503:5 | SSA def(ptr) | string.swift:504:15:504:15 | ptr | -| string.swift:503:5:503:5 | ptr | string.swift:503:5:503:5 | SSA def(ptr) | -| string.swift:504:15:504:15 | ptr | string.swift:505:15:505:15 | ptr | -| string.swift:505:15:505:15 | [post] ptr | string.swift:506:34:506:34 | ptr | -| string.swift:505:15:505:15 | ptr | string.swift:506:34:506:34 | ptr | -| string.swift:505:15:505:19 | .baseAddress | string.swift:505:15:505:30 | ...! | -| string.swift:506:15:506:50 | call to String.init(utf8String:) | string.swift:506:15:506:51 | ...! | -| string.swift:506:34:506:34 | [post] ptr | string.swift:507:38:507:38 | ptr | -| string.swift:506:34:506:34 | ptr | string.swift:507:38:507:38 | ptr | -| string.swift:506:34:506:38 | .baseAddress | string.swift:506:34:506:49 | ...! | -| string.swift:506:34:506:49 | ...! | string.swift:506:15:506:50 | call to String.init(utf8String:) | -| string.swift:507:15:507:54 | call to String.init(validatingUTF8:) | string.swift:507:15:507:55 | ...! | -| string.swift:507:38:507:38 | [post] ptr | string.swift:508:31:508:31 | ptr | -| string.swift:507:38:507:38 | ptr | string.swift:508:31:508:31 | ptr | -| string.swift:507:38:507:42 | .baseAddress | string.swift:507:38:507:53 | ...! | -| string.swift:507:38:507:53 | ...! | string.swift:507:15:507:54 | call to String.init(validatingUTF8:) | -| string.swift:508:31:508:35 | .baseAddress | string.swift:508:31:508:46 | ...! | -| string.swift:508:31:508:46 | ...! | string.swift:508:15:508:47 | call to String.init(cString:) | -| string.swift:511:29:511:29 | cleanCCharValues | string.swift:511:13:511:45 | call to String.init(cString:) | -| string.swift:512:29:512:29 | taintedCCharValues | string.swift:512:13:512:47 | call to String.init(cString:) | -| string.swift:518:7:518:35 | SSA def(cleanUnicharValues) | string.swift:521:3:521:3 | cleanUnicharValues | -| string.swift:518:39:518:59 | [...] | string.swift:518:7:518:35 | SSA def(cleanUnicharValues) | -| string.swift:519:7:519:37 | SSA def(taintedUnicharValues) | string.swift:528:3:528:3 | taintedUnicharValues | -| string.swift:519:41:519:49 | call to source6() | string.swift:519:7:519:37 | SSA def(taintedUnicharValues) | -| string.swift:522:5:522:5 | SSA def(ptr) | string.swift:523:15:523:15 | ptr | -| string.swift:522:5:522:5 | ptr | string.swift:522:5:522:5 | SSA def(ptr) | -| string.swift:523:15:523:15 | ptr | string.swift:524:15:524:15 | ptr | -| string.swift:524:15:524:15 | [post] ptr | string.swift:525:38:525:38 | ptr | -| string.swift:524:15:524:15 | ptr | string.swift:525:38:525:38 | ptr | -| string.swift:524:15:524:19 | .baseAddress | string.swift:524:15:524:30 | ...! | -| string.swift:525:38:525:38 | [post] ptr | string.swift:525:63:525:63 | ptr | -| string.swift:525:38:525:38 | ptr | string.swift:525:63:525:63 | ptr | -| string.swift:525:38:525:42 | .baseAddress | string.swift:525:38:525:53 | ...! | -| string.swift:525:38:525:53 | ...! | string.swift:525:15:525:72 | call to String.init(utf16CodeUnits:count:) | -| string.swift:525:63:525:63 | [post] ptr | string.swift:526:44:526:44 | ptr | -| string.swift:525:63:525:63 | ptr | string.swift:526:44:526:44 | ptr | -| string.swift:526:44:526:44 | [post] ptr | string.swift:526:69:526:69 | ptr | -| string.swift:526:44:526:44 | ptr | string.swift:526:69:526:69 | ptr | -| string.swift:526:44:526:48 | .baseAddress | string.swift:526:44:526:59 | ...! | -| string.swift:526:44:526:59 | ...! | string.swift:526:15:526:99 | call to String.init(utf16CodeUnitsNoCopy:count:freeWhenDone:) | -| string.swift:529:5:529:5 | SSA def(ptr) | string.swift:530:15:530:15 | ptr | -| string.swift:529:5:529:5 | ptr | string.swift:529:5:529:5 | SSA def(ptr) | -| string.swift:530:15:530:15 | ptr | string.swift:531:15:531:15 | ptr | -| string.swift:531:15:531:15 | [post] ptr | string.swift:532:38:532:38 | ptr | -| string.swift:531:15:531:15 | ptr | string.swift:532:38:532:38 | ptr | -| string.swift:531:15:531:19 | .baseAddress | string.swift:531:15:531:30 | ...! | -| string.swift:532:38:532:38 | [post] ptr | string.swift:532:63:532:63 | ptr | -| string.swift:532:38:532:38 | ptr | string.swift:532:63:532:63 | ptr | -| string.swift:532:38:532:42 | .baseAddress | string.swift:532:38:532:53 | ...! | -| string.swift:532:38:532:53 | ...! | string.swift:532:15:532:72 | call to String.init(utf16CodeUnits:count:) | -| string.swift:532:63:532:63 | [post] ptr | string.swift:533:44:533:44 | ptr | -| string.swift:532:63:532:63 | ptr | string.swift:533:44:533:44 | ptr | -| string.swift:533:44:533:44 | [post] ptr | string.swift:533:69:533:69 | ptr | -| string.swift:533:44:533:44 | ptr | string.swift:533:69:533:69 | ptr | -| string.swift:533:44:533:48 | .baseAddress | string.swift:533:44:533:59 | ...! | -| string.swift:533:44:533:59 | ...! | string.swift:533:15:533:99 | call to String.init(utf16CodeUnitsNoCopy:count:freeWhenDone:) | -| string.swift:540:7:540:7 | SSA def(tainted) | string.swift:544:14:544:14 | tainted | -| string.swift:540:17:540:25 | call to source2() | string.swift:540:7:540:7 | SSA def(tainted) | -| string.swift:544:7:544:7 | SSA def(sub1) | string.swift:545:13:545:13 | sub1 | -| string.swift:544:14:544:14 | [post] tainted | string.swift:544:22:544:22 | tainted | -| string.swift:544:14:544:14 | tainted | string.swift:544:14:544:61 | ...[...] | -| string.swift:544:14:544:14 | tainted | string.swift:544:22:544:22 | tainted | -| string.swift:544:14:544:61 | ...[...] | string.swift:544:7:544:7 | SSA def(sub1) | -| string.swift:544:22:544:22 | [post] tainted | string.swift:544:45:544:45 | tainted | -| string.swift:544:22:544:22 | tainted | string.swift:544:45:544:45 | tainted | -| string.swift:544:45:544:45 | [post] tainted | string.swift:548:14:548:14 | tainted | -| string.swift:544:45:544:45 | tainted | string.swift:548:14:548:14 | tainted | -| string.swift:545:13:545:13 | [post] sub1 | string.swift:546:20:546:20 | sub1 | -| string.swift:545:13:545:13 | sub1 | string.swift:546:20:546:20 | sub1 | -| string.swift:546:20:546:20 | sub1 | string.swift:546:13:546:24 | call to String.init(_:) | -| string.swift:548:7:548:7 | SSA def(sub2) | string.swift:549:13:549:13 | sub2 | -| string.swift:548:14:548:14 | [post] tainted | string.swift:552:14:552:14 | tainted | -| string.swift:548:14:548:14 | tainted | string.swift:548:14:548:31 | call to prefix(_:) | -| string.swift:548:14:548:14 | tainted | string.swift:552:14:552:14 | tainted | -| string.swift:548:14:548:31 | call to prefix(_:) | string.swift:548:7:548:7 | SSA def(sub2) | -| string.swift:549:13:549:13 | sub2 | string.swift:550:20:550:20 | sub2 | -| string.swift:550:20:550:20 | sub2 | string.swift:550:13:550:24 | call to String.init(_:) | -| string.swift:552:7:552:7 | SSA def(sub3) | string.swift:553:13:553:13 | sub3 | -| string.swift:552:14:552:14 | [post] tainted | string.swift:552:38:552:38 | tainted | -| string.swift:552:14:552:14 | tainted | string.swift:552:14:552:54 | call to prefix(through:) | -| string.swift:552:14:552:14 | tainted | string.swift:552:38:552:38 | tainted | -| string.swift:552:14:552:54 | call to prefix(through:) | string.swift:552:7:552:7 | SSA def(sub3) | -| string.swift:552:38:552:38 | [post] tainted | string.swift:556:14:556:14 | tainted | -| string.swift:552:38:552:38 | tainted | string.swift:556:14:556:14 | tainted | -| string.swift:553:13:553:13 | sub3 | string.swift:554:20:554:20 | sub3 | -| string.swift:554:20:554:20 | sub3 | string.swift:554:13:554:24 | call to String.init(_:) | -| string.swift:556:7:556:7 | SSA def(sub4) | string.swift:557:13:557:13 | sub4 | -| string.swift:556:14:556:14 | [post] tainted | string.swift:556:35:556:35 | tainted | -| string.swift:556:14:556:14 | tainted | string.swift:556:14:556:51 | call to prefix(upTo:) | -| string.swift:556:14:556:14 | tainted | string.swift:556:35:556:35 | tainted | -| string.swift:556:14:556:51 | call to prefix(upTo:) | string.swift:556:7:556:7 | SSA def(sub4) | -| string.swift:556:35:556:35 | [post] tainted | string.swift:560:14:560:14 | tainted | -| string.swift:556:35:556:35 | tainted | string.swift:560:14:560:14 | tainted | -| string.swift:557:13:557:13 | sub4 | string.swift:558:20:558:20 | sub4 | -| string.swift:558:20:558:20 | sub4 | string.swift:558:13:558:24 | call to String.init(_:) | -| string.swift:560:7:560:7 | SSA def(sub5) | string.swift:561:13:561:13 | sub5 | -| string.swift:560:14:560:14 | [post] tainted | string.swift:564:14:564:14 | tainted | -| string.swift:560:14:560:14 | tainted | string.swift:560:14:560:31 | call to suffix(_:) | -| string.swift:560:14:560:14 | tainted | string.swift:564:14:564:14 | tainted | -| string.swift:560:14:560:31 | call to suffix(_:) | string.swift:560:7:560:7 | SSA def(sub5) | -| string.swift:561:13:561:13 | sub5 | string.swift:562:20:562:20 | sub5 | -| string.swift:562:20:562:20 | sub5 | string.swift:562:13:562:24 | call to String.init(_:) | -| string.swift:564:7:564:7 | SSA def(sub6) | string.swift:565:13:565:13 | sub6 | -| string.swift:564:14:564:14 | [post] tainted | string.swift:564:35:564:35 | tainted | -| string.swift:564:14:564:14 | tainted | string.swift:564:14:564:53 | call to suffix(from:) | -| string.swift:564:14:564:14 | tainted | string.swift:564:35:564:35 | tainted | -| string.swift:564:14:564:53 | call to suffix(from:) | string.swift:564:7:564:7 | SSA def(sub6) | -| string.swift:565:13:565:13 | sub6 | string.swift:566:20:566:20 | sub6 | -| string.swift:566:20:566:20 | sub6 | string.swift:566:13:566:24 | call to String.init(_:) | -| string.swift:570:7:570:7 | SSA def(clean) | string.swift:573:13:573:13 | clean | -| string.swift:570:15:570:26 | call to FilePath.init(_:) | string.swift:570:7:570:7 | SSA def(clean) | -| string.swift:571:7:571:7 | SSA def(tainted) | string.swift:574:13:574:13 | tainted | -| string.swift:571:17:571:35 | call to FilePath.init(_:) | string.swift:571:7:571:7 | SSA def(tainted) | -| string.swift:573:13:573:13 | [post] clean | string.swift:585:11:585:11 | clean | -| string.swift:573:13:573:13 | clean | string.swift:585:11:585:11 | clean | -| string.swift:574:13:574:13 | [post] tainted | string.swift:576:13:576:13 | tainted | -| string.swift:574:13:574:13 | tainted | string.swift:576:13:576:13 | tainted | -| string.swift:576:13:576:13 | [post] tainted | string.swift:577:13:577:13 | tainted | -| string.swift:576:13:576:13 | tainted | string.swift:577:13:577:13 | tainted | -| string.swift:576:13:576:21 | .extension | string.swift:576:13:576:30 | ...! | -| string.swift:577:13:577:13 | [post] tainted | string.swift:578:13:578:13 | tainted | -| string.swift:577:13:577:13 | tainted | string.swift:578:13:578:13 | tainted | -| string.swift:577:13:577:21 | .stem | string.swift:577:13:577:25 | ...! | -| string.swift:578:13:578:13 | [post] tainted | string.swift:579:13:579:13 | tainted | -| string.swift:578:13:578:13 | tainted | string.swift:579:13:579:13 | tainted | -| string.swift:579:13:579:13 | [post] tainted | string.swift:580:13:580:13 | tainted | -| string.swift:579:13:579:13 | tainted | string.swift:580:13:580:13 | tainted | -| string.swift:580:13:580:13 | [post] tainted | string.swift:582:30:582:30 | tainted | -| string.swift:580:13:580:13 | tainted | string.swift:582:30:582:30 | tainted | -| string.swift:582:30:582:30 | [post] tainted | string.swift:583:32:583:32 | tainted | -| string.swift:582:30:582:30 | tainted | string.swift:582:13:582:37 | call to String.init(decoding:) | -| string.swift:582:30:582:30 | tainted | string.swift:583:32:583:32 | tainted | -| string.swift:583:13:583:39 | call to String.init(validating:) | string.swift:583:13:583:40 | ...! | -| string.swift:583:32:583:32 | [post] tainted | string.swift:589:11:589:11 | tainted | -| string.swift:583:32:583:32 | tainted | string.swift:583:13:583:39 | call to String.init(validating:) | -| string.swift:583:32:583:32 | tainted | string.swift:589:11:589:11 | tainted | -| string.swift:585:11:585:11 | [post] clean | string.swift:594:11:594:11 | clean | -| string.swift:585:11:585:11 | clean | string.swift:594:11:594:11 | clean | -| string.swift:586:5:586:5 | SSA def(ptr) | string.swift:587:15:587:15 | ptr | -| string.swift:586:5:586:5 | ptr | string.swift:586:5:586:5 | SSA def(ptr) | -| string.swift:589:11:589:11 | [post] tainted | string.swift:600:11:600:11 | tainted | -| string.swift:589:11:589:11 | tainted | string.swift:600:11:600:11 | tainted | -| string.swift:590:5:590:5 | SSA def(ptr) | string.swift:591:15:591:15 | ptr | -| string.swift:590:5:590:5 | ptr | string.swift:590:5:590:5 | SSA def(ptr) | -| string.swift:594:11:594:11 | [post] clean | string.swift:614:13:614:13 | clean | -| string.swift:594:11:594:11 | clean | string.swift:614:13:614:13 | clean | -| string.swift:595:5:595:5 | SSA def(ptr) | string.swift:596:15:596:15 | ptr | -| string.swift:595:5:595:5 | ptr | string.swift:595:5:595:5 | SSA def(ptr) | -| string.swift:596:15:596:15 | ptr | string.swift:597:38:597:38 | ptr | -| string.swift:597:38:597:38 | ptr | string.swift:597:15:597:41 | call to String.init(platformString:) | -| string.swift:597:38:597:38 | ptr | string.swift:598:48:598:48 | ptr | -| string.swift:598:15:598:51 | call to String.init(validatingPlatformString:) | string.swift:598:15:598:52 | ...! | -| string.swift:598:48:598:48 | ptr | string.swift:598:15:598:51 | call to String.init(validatingPlatformString:) | -| string.swift:600:11:600:11 | [post] tainted | string.swift:616:13:616:13 | tainted | -| string.swift:600:11:600:11 | tainted | string.swift:616:13:616:13 | tainted | -| string.swift:601:5:601:5 | SSA def(ptr) | string.swift:602:15:602:15 | ptr | -| string.swift:601:5:601:5 | ptr | string.swift:601:5:601:5 | SSA def(ptr) | -| string.swift:602:15:602:15 | ptr | string.swift:603:38:603:38 | ptr | -| string.swift:603:38:603:38 | ptr | string.swift:603:15:603:41 | call to String.init(platformString:) | -| string.swift:603:38:603:38 | ptr | string.swift:604:48:604:48 | ptr | -| string.swift:604:15:604:51 | call to String.init(validatingPlatformString:) | string.swift:604:15:604:52 | ...! | -| string.swift:604:48:604:48 | ptr | string.swift:604:15:604:51 | call to String.init(validatingPlatformString:) | -| string.swift:607:7:607:7 | SSA def(fp1) | string.swift:608:13:608:13 | fp1 | -| string.swift:607:13:607:24 | call to FilePath.init(_:) | string.swift:607:7:607:7 | SSA def(fp1) | -| string.swift:608:13:608:13 | [post] fp1 | string.swift:609:3:609:3 | fp1 | -| string.swift:608:13:608:13 | fp1 | string.swift:609:3:609:3 | fp1 | -| string.swift:609:3:609:3 | &... | string.swift:610:13:610:13 | fp1 | -| string.swift:609:3:609:3 | [post] &... | string.swift:610:13:610:13 | fp1 | -| string.swift:609:3:609:3 | fp1 | string.swift:609:3:609:3 | &... | -| string.swift:610:13:610:13 | [post] fp1 | string.swift:611:3:611:3 | fp1 | -| string.swift:610:13:610:13 | fp1 | string.swift:611:3:611:3 | fp1 | -| string.swift:611:3:611:3 | &... | string.swift:612:13:612:13 | fp1 | -| string.swift:611:3:611:3 | [post] &... | string.swift:612:13:612:13 | fp1 | -| string.swift:611:3:611:3 | fp1 | string.swift:611:3:611:3 | &... | -| string.swift:614:13:614:13 | [post] clean | string.swift:615:13:615:13 | clean | -| string.swift:614:13:614:13 | clean | string.swift:615:13:615:13 | clean | -| string.swift:616:13:616:13 | [post] tainted | string.swift:617:13:617:13 | tainted | -| string.swift:616:13:616:13 | tainted | string.swift:617:13:617:13 | tainted | -| string.swift:621:20:621:20 | 0 | string.swift:621:13:621:21 | call to String.init(_:) | -| string.swift:622:20:622:27 | call to source() | string.swift:622:13:622:28 | call to String.init(_:) | -| string.swift:625:32:625:32 | 0 | string.swift:625:13:625:33 | call to String.init(describing:) | -| string.swift:626:32:626:39 | call to source() | string.swift:626:13:626:40 | call to String.init(describing:) | -| string.swift:628:13:628:22 | call to Self.init(_:) | string.swift:628:13:628:23 | ...! | -| string.swift:629:13:629:26 | call to Self.init(_:) | string.swift:629:13:629:27 | ...! | -| string.swift:633:7:633:7 | SSA def(tainted) | string.swift:637:13:637:13 | tainted | -| string.swift:633:17:633:25 | call to source2() | string.swift:633:7:633:7 | SSA def(tainted) | +| string.swift:263:13:263:13 | [post] tainted | string.swift:270:14:270:14 | tainted | +| string.swift:263:13:263:13 | tainted | string.swift:270:14:270:14 | tainted | +| string.swift:264:5:264:5 | SSA def(line) | string.swift:265:15:265:15 | line | +| string.swift:264:5:264:5 | line | string.swift:264:5:264:5 | SSA def(line) | +| string.swift:264:11:264:11 | SSA def(stop) | string.swift:266:15:266:15 | stop | +| string.swift:264:11:264:11 | stop | string.swift:264:11:264:11 | SSA def(stop) | +| string.swift:269:13:269:26 | [...] | string.swift:269:13:269:35 | call to joined(separator:) | +| string.swift:269:14:269:14 | clean | string.swift:269:21:269:21 | clean | +| string.swift:269:21:269:21 | clean | string.swift:270:23:270:23 | clean | +| string.swift:269:34:269:34 | default separator | string.swift:269:13:269:35 | call to joined(separator:) | +| string.swift:270:13:270:28 | [...] | string.swift:270:13:270:37 | call to joined(separator:) | +| string.swift:270:14:270:14 | tainted | string.swift:271:21:271:21 | tainted | +| string.swift:270:23:270:23 | clean | string.swift:271:14:271:14 | clean | +| string.swift:270:36:270:36 | default separator | string.swift:270:13:270:37 | call to joined(separator:) | +| string.swift:271:13:271:28 | [...] | string.swift:271:13:271:37 | call to joined(separator:) | +| string.swift:271:14:271:14 | clean | string.swift:274:13:274:13 | clean | +| string.swift:271:21:271:21 | tainted | string.swift:272:14:272:14 | tainted | +| string.swift:271:36:271:36 | default separator | string.swift:271:13:271:37 | call to joined(separator:) | +| string.swift:272:13:272:30 | [...] | string.swift:272:13:272:39 | call to joined(separator:) | +| string.swift:272:14:272:14 | tainted | string.swift:272:23:272:23 | tainted | +| string.swift:272:23:272:23 | tainted | string.swift:275:13:275:13 | tainted | +| string.swift:272:38:272:38 | default separator | string.swift:272:13:272:39 | call to joined(separator:) | +| string.swift:274:13:274:13 | [post] clean | string.swift:276:13:276:13 | clean | +| string.swift:274:13:274:13 | clean | string.swift:274:13:274:19 | .description | +| string.swift:274:13:274:13 | clean | string.swift:276:13:276:13 | clean | +| string.swift:275:13:275:13 | [post] tainted | string.swift:277:13:277:13 | tainted | +| string.swift:275:13:275:13 | tainted | string.swift:275:13:275:21 | .description | +| string.swift:275:13:275:13 | tainted | string.swift:277:13:277:13 | tainted | +| string.swift:276:13:276:13 | [post] clean | string.swift:278:13:278:13 | clean | +| string.swift:276:13:276:13 | clean | string.swift:276:13:276:19 | .debugDescription | +| string.swift:276:13:276:13 | clean | string.swift:278:13:278:13 | clean | +| string.swift:277:13:277:13 | [post] tainted | string.swift:279:13:279:13 | tainted | +| string.swift:277:13:277:13 | tainted | string.swift:277:13:277:21 | .debugDescription | +| string.swift:277:13:277:13 | tainted | string.swift:279:13:279:13 | tainted | +| string.swift:278:13:278:13 | [post] clean | string.swift:280:13:280:13 | clean | +| string.swift:278:13:278:13 | clean | string.swift:278:13:278:19 | .utf8 | +| string.swift:278:13:278:13 | clean | string.swift:280:13:280:13 | clean | +| string.swift:279:13:279:13 | [post] tainted | string.swift:281:13:281:13 | tainted | +| string.swift:279:13:279:13 | tainted | string.swift:279:13:279:21 | .utf8 | +| string.swift:279:13:279:13 | tainted | string.swift:281:13:281:13 | tainted | +| string.swift:280:13:280:13 | [post] clean | string.swift:282:13:282:13 | clean | +| string.swift:280:13:280:13 | clean | string.swift:280:13:280:19 | .utf16 | +| string.swift:280:13:280:13 | clean | string.swift:282:13:282:13 | clean | +| string.swift:281:13:281:13 | [post] tainted | string.swift:283:13:283:13 | tainted | +| string.swift:281:13:281:13 | tainted | string.swift:281:13:281:21 | .utf16 | +| string.swift:281:13:281:13 | tainted | string.swift:283:13:283:13 | tainted | +| string.swift:282:13:282:13 | [post] clean | string.swift:284:13:284:13 | clean | +| string.swift:282:13:282:13 | clean | string.swift:282:13:282:19 | .unicodeScalars | +| string.swift:282:13:282:13 | clean | string.swift:284:13:284:13 | clean | +| string.swift:283:13:283:13 | [post] tainted | string.swift:285:13:285:13 | tainted | +| string.swift:283:13:283:13 | tainted | string.swift:283:13:283:21 | .unicodeScalars | +| string.swift:283:13:283:13 | tainted | string.swift:285:13:285:13 | tainted | +| string.swift:284:13:284:13 | [post] clean | string.swift:286:13:286:13 | clean | +| string.swift:284:13:284:13 | clean | string.swift:284:13:284:19 | .utf8CString | +| string.swift:284:13:284:13 | clean | string.swift:286:13:286:13 | clean | +| string.swift:285:13:285:13 | [post] tainted | string.swift:287:13:287:13 | tainted | +| string.swift:285:13:285:13 | tainted | string.swift:285:13:285:21 | .utf8CString | +| string.swift:285:13:285:13 | tainted | string.swift:287:13:287:13 | tainted | +| string.swift:286:13:286:13 | [post] clean | string.swift:288:13:288:13 | clean | +| string.swift:286:13:286:13 | clean | string.swift:286:13:286:19 | .lazy | +| string.swift:286:13:286:13 | clean | string.swift:288:13:288:13 | clean | +| string.swift:287:13:287:13 | [post] tainted | string.swift:289:13:289:13 | tainted | +| string.swift:287:13:287:13 | tainted | string.swift:287:13:287:21 | .lazy | +| string.swift:287:13:287:13 | tainted | string.swift:289:13:289:13 | tainted | +| string.swift:288:13:288:13 | [post] clean | string.swift:290:13:290:13 | clean | +| string.swift:288:13:288:13 | clean | string.swift:288:13:288:19 | .capitalized | +| string.swift:288:13:288:13 | clean | string.swift:290:13:290:13 | clean | +| string.swift:289:13:289:13 | [post] tainted | string.swift:291:13:291:13 | tainted | +| string.swift:289:13:289:13 | tainted | string.swift:289:13:289:21 | .capitalized | +| string.swift:289:13:289:13 | tainted | string.swift:291:13:291:13 | tainted | +| string.swift:290:13:290:13 | [post] clean | string.swift:292:13:292:13 | clean | +| string.swift:290:13:290:13 | clean | string.swift:290:13:290:19 | .localizedCapitalized | +| string.swift:290:13:290:13 | clean | string.swift:292:13:292:13 | clean | +| string.swift:291:13:291:13 | [post] tainted | string.swift:293:13:293:13 | tainted | +| string.swift:291:13:291:13 | tainted | string.swift:291:13:291:21 | .localizedCapitalized | +| string.swift:291:13:291:13 | tainted | string.swift:293:13:293:13 | tainted | +| string.swift:292:13:292:13 | [post] clean | string.swift:294:13:294:13 | clean | +| string.swift:292:13:292:13 | clean | string.swift:292:13:292:19 | .localizedLowercase | +| string.swift:292:13:292:13 | clean | string.swift:294:13:294:13 | clean | +| string.swift:293:13:293:13 | [post] tainted | string.swift:295:13:295:13 | tainted | +| string.swift:293:13:293:13 | tainted | string.swift:293:13:293:21 | .localizedLowercase | +| string.swift:293:13:293:13 | tainted | string.swift:295:13:295:13 | tainted | +| string.swift:294:13:294:13 | [post] clean | string.swift:296:13:296:13 | clean | +| string.swift:294:13:294:13 | clean | string.swift:294:13:294:19 | .localizedUppercase | +| string.swift:294:13:294:13 | clean | string.swift:296:13:296:13 | clean | +| string.swift:295:13:295:13 | [post] tainted | string.swift:297:13:297:13 | tainted | +| string.swift:295:13:295:13 | tainted | string.swift:295:13:295:21 | .localizedUppercase | +| string.swift:295:13:295:13 | tainted | string.swift:297:13:297:13 | tainted | +| string.swift:296:13:296:13 | [post] clean | string.swift:298:13:298:13 | clean | +| string.swift:296:13:296:13 | clean | string.swift:296:13:296:19 | .decomposedStringWithCanonicalMapping | +| string.swift:296:13:296:13 | clean | string.swift:298:13:298:13 | clean | +| string.swift:297:13:297:13 | [post] tainted | string.swift:299:13:299:13 | tainted | +| string.swift:297:13:297:13 | tainted | string.swift:297:13:297:21 | .decomposedStringWithCanonicalMapping | +| string.swift:297:13:297:13 | tainted | string.swift:299:13:299:13 | tainted | +| string.swift:298:13:298:13 | [post] clean | string.swift:300:13:300:13 | clean | +| string.swift:298:13:298:13 | clean | string.swift:298:13:298:19 | .precomposedStringWithCompatibilityMapping | +| string.swift:298:13:298:13 | clean | string.swift:300:13:300:13 | clean | +| string.swift:299:13:299:13 | [post] tainted | string.swift:301:13:301:13 | tainted | +| string.swift:299:13:299:13 | tainted | string.swift:299:13:299:21 | .precomposedStringWithCompatibilityMapping | +| string.swift:299:13:299:13 | tainted | string.swift:301:13:301:13 | tainted | +| string.swift:300:13:300:13 | [post] clean | string.swift:303:13:303:13 | clean | +| string.swift:300:13:300:13 | clean | string.swift:300:13:300:19 | .removingPercentEncoding | +| string.swift:300:13:300:13 | clean | string.swift:303:13:303:13 | clean | +| string.swift:300:13:300:19 | .removingPercentEncoding | string.swift:300:13:300:42 | ...! | +| string.swift:301:13:301:13 | [post] tainted | string.swift:304:13:304:13 | tainted | +| string.swift:301:13:301:13 | tainted | string.swift:301:13:301:21 | .removingPercentEncoding | +| string.swift:301:13:301:13 | tainted | string.swift:304:13:304:13 | tainted | +| string.swift:301:13:301:21 | .removingPercentEncoding | string.swift:301:13:301:44 | ...! | +| string.swift:303:13:303:13 | [post] clean | string.swift:305:13:305:13 | clean | +| string.swift:303:13:303:13 | clean | string.swift:303:13:303:58 | call to replacingOccurrences(of:with:options:range:) | +| string.swift:303:13:303:13 | clean | string.swift:305:13:305:13 | clean | +| string.swift:303:55:303:55 | b | string.swift:303:13:303:58 | call to replacingOccurrences(of:with:options:range:) | +| string.swift:304:13:304:13 | tainted | string.swift:304:13:304:60 | call to replacingOccurrences(of:with:options:range:) | +| string.swift:304:57:304:57 | b | string.swift:304:13:304:60 | call to replacingOccurrences(of:with:options:range:) | +| string.swift:305:13:305:13 | clean | string.swift:305:13:305:64 | call to replacingOccurrences(of:with:options:range:) | +| string.swift:305:55:305:63 | call to source2() | string.swift:305:13:305:64 | call to replacingOccurrences(of:with:options:range:) | +| string.swift:309:7:309:7 | SSA def(str1) | string.swift:310:13:310:13 | str1 | +| string.swift:309:14:309:22 | call to source2() | string.swift:309:7:309:7 | SSA def(str1) | +| string.swift:310:13:310:13 | [post] str1 | string.swift:311:13:311:13 | str1 | +| string.swift:310:13:310:13 | str1 | string.swift:311:13:311:13 | str1 | +| string.swift:311:13:311:13 | &... | string.swift:311:13:311:44 | call to remove(at:) | +| string.swift:311:13:311:13 | &... | string.swift:311:29:311:29 | str1 | +| string.swift:311:13:311:13 | [post] &... | string.swift:311:29:311:29 | str1 | +| string.swift:311:13:311:13 | str1 | string.swift:311:13:311:13 | &... | +| string.swift:311:29:311:29 | [post] str1 | string.swift:312:13:312:13 | str1 | +| string.swift:311:29:311:29 | str1 | string.swift:312:13:312:13 | str1 | +| string.swift:314:7:314:7 | SSA def(str2) | string.swift:315:13:315:13 | str2 | +| string.swift:314:14:314:22 | call to source2() | string.swift:314:7:314:7 | SSA def(str2) | +| string.swift:315:13:315:13 | [post] str2 | string.swift:316:3:316:3 | str2 | +| string.swift:315:13:315:13 | str2 | string.swift:316:3:316:3 | str2 | +| string.swift:316:3:316:3 | &... | string.swift:317:13:317:13 | str2 | +| string.swift:316:3:316:3 | [post] &... | string.swift:317:13:317:13 | str2 | +| string.swift:316:3:316:3 | str2 | string.swift:316:3:316:3 | &... | +| string.swift:319:7:319:7 | SSA def(str3) | string.swift:320:13:320:13 | str3 | +| string.swift:319:14:319:22 | call to source2() | string.swift:319:7:319:7 | SSA def(str3) | +| string.swift:320:13:320:13 | [post] str3 | string.swift:321:3:321:3 | str3 | +| string.swift:320:13:320:13 | str3 | string.swift:321:3:321:3 | str3 | +| string.swift:321:3:321:3 | &... | string.swift:322:13:322:13 | str3 | +| string.swift:321:3:321:3 | [post] &... | string.swift:322:13:322:13 | str3 | +| string.swift:321:3:321:3 | str3 | string.swift:321:3:321:3 | &... | +| string.swift:324:7:324:7 | SSA def(str4) | string.swift:325:13:325:13 | str4 | +| string.swift:324:14:324:22 | call to source2() | string.swift:324:7:324:7 | SSA def(str4) | +| string.swift:325:13:325:13 | [post] str4 | string.swift:326:13:326:13 | str4 | +| string.swift:325:13:325:13 | str4 | string.swift:326:13:326:13 | str4 | +| string.swift:326:13:326:13 | &... | string.swift:326:13:326:30 | call to removeFirst() | +| string.swift:326:13:326:13 | &... | string.swift:327:13:327:13 | str4 | +| string.swift:326:13:326:13 | [post] &... | string.swift:327:13:327:13 | str4 | +| string.swift:326:13:326:13 | str4 | string.swift:326:13:326:13 | &... | +| string.swift:327:13:327:13 | [post] str4 | string.swift:328:3:328:3 | str4 | +| string.swift:327:13:327:13 | str4 | string.swift:328:3:328:3 | str4 | +| string.swift:328:3:328:3 | &... | string.swift:329:13:329:13 | str4 | +| string.swift:328:3:328:3 | [post] &... | string.swift:329:13:329:13 | str4 | +| string.swift:328:3:328:3 | str4 | string.swift:328:3:328:3 | &... | +| string.swift:329:13:329:13 | [post] str4 | string.swift:330:13:330:13 | str4 | +| string.swift:329:13:329:13 | str4 | string.swift:330:13:330:13 | str4 | +| string.swift:330:13:330:13 | &... | string.swift:330:13:330:29 | call to removeLast() | +| string.swift:330:13:330:13 | &... | string.swift:331:13:331:13 | str4 | +| string.swift:330:13:330:13 | [post] &... | string.swift:331:13:331:13 | str4 | +| string.swift:330:13:330:13 | str4 | string.swift:330:13:330:13 | &... | +| string.swift:331:13:331:13 | [post] str4 | string.swift:332:3:332:3 | str4 | +| string.swift:331:13:331:13 | str4 | string.swift:332:3:332:3 | str4 | +| string.swift:332:3:332:3 | &... | string.swift:333:13:333:13 | str4 | +| string.swift:332:3:332:3 | [post] &... | string.swift:333:13:333:13 | str4 | +| string.swift:332:3:332:3 | str4 | string.swift:332:3:332:3 | &... | +| string.swift:335:7:335:7 | SSA def(str5) | string.swift:336:13:336:13 | str5 | +| string.swift:335:14:335:22 | call to source2() | string.swift:335:7:335:7 | SSA def(str5) | +| string.swift:336:13:336:13 | [post] str5 | string.swift:337:3:337:3 | str5 | +| string.swift:336:13:336:13 | str5 | string.swift:337:3:337:3 | str5 | +| string.swift:337:3:337:3 | &... | string.swift:337:23:337:23 | str5 | +| string.swift:337:3:337:3 | [post] &... | string.swift:337:23:337:23 | str5 | +| string.swift:337:3:337:3 | str5 | string.swift:337:3:337:3 | &... | +| string.swift:337:23:337:23 | [post] str5 | string.swift:337:43:337:43 | str5 | +| string.swift:337:23:337:23 | str5 | string.swift:337:43:337:43 | str5 | +| string.swift:337:43:337:43 | [post] str5 | string.swift:337:54:337:54 | str5 | +| string.swift:337:43:337:43 | str5 | string.swift:337:54:337:54 | str5 | +| string.swift:337:54:337:54 | [post] str5 | string.swift:338:13:338:13 | str5 | +| string.swift:337:54:337:54 | str5 | string.swift:338:13:338:13 | str5 | +| string.swift:340:7:340:7 | SSA def(str6) | string.swift:341:13:341:13 | str6 | +| string.swift:340:14:340:22 | call to source2() | string.swift:340:7:340:7 | SSA def(str6) | +| string.swift:341:13:341:13 | [post] str6 | string.swift:342:3:342:3 | str6 | +| string.swift:341:13:341:13 | str6 | string.swift:342:3:342:3 | str6 | +| string.swift:342:3:342:3 | &... | string.swift:343:13:343:13 | str6 | +| string.swift:342:3:342:3 | [post] &... | string.swift:343:13:343:13 | str6 | +| string.swift:342:3:342:3 | str6 | string.swift:342:3:342:3 | &... | +| string.swift:345:7:345:7 | SSA def(str7) | string.swift:346:13:346:13 | str7 | +| string.swift:345:14:345:14 | | string.swift:345:7:345:7 | SSA def(str7) | +| string.swift:346:13:346:13 | [post] str7 | string.swift:347:3:347:3 | str7 | +| string.swift:346:13:346:13 | str7 | string.swift:347:3:347:3 | str7 | +| string.swift:347:3:347:3 | &... | string.swift:348:13:348:13 | str7 | +| string.swift:347:3:347:3 | [post] &... | string.swift:348:13:348:13 | str7 | +| string.swift:347:3:347:3 | str7 | string.swift:347:3:347:3 | &... | +| string.swift:347:25:347:25 | nil | string.swift:347:24:347:53 | ...! | +| string.swift:347:62:347:70 | call to source2() | string.swift:347:3:347:3 | [post] &... | +| string.swift:351:38:351:38 | | string.swift:351:33:351:40 | call to Data.init(_:) | +| string.swift:354:7:354:7 | SSA def(stringClean) | string.swift:357:12:357:12 | stringClean | +| string.swift:354:21:354:74 | call to String.init(data:encoding:) | string.swift:354:7:354:7 | SSA def(stringClean) | +| string.swift:354:34:354:41 | call to Data.init(_:) | string.swift:354:21:354:74 | call to String.init(data:encoding:) | +| string.swift:354:39:354:39 | | string.swift:354:34:354:41 | call to Data.init(_:) | +| string.swift:355:7:355:7 | SSA def(stringTainted) | string.swift:358:12:358:12 | stringTainted | +| string.swift:355:23:355:77 | call to String.init(data:encoding:) | string.swift:355:7:355:7 | SSA def(stringTainted) | +| string.swift:355:36:355:44 | call to source3() | string.swift:355:23:355:77 | call to String.init(data:encoding:) | +| string.swift:357:12:357:12 | stringClean | string.swift:357:12:357:23 | ...! | +| string.swift:358:12:358:12 | stringTainted | string.swift:358:12:358:25 | ...! | +| string.swift:360:30:360:37 | call to Data.init(_:) | string.swift:360:13:360:53 | call to String.init(decoding:as:) | +| string.swift:360:35:360:35 | | string.swift:360:30:360:37 | call to Data.init(_:) | +| string.swift:361:30:361:38 | call to source3() | string.swift:361:13:361:54 | call to String.init(decoding:as:) | +| string.swift:365:7:365:7 | SSA def(clean) | string.swift:368:3:368:3 | clean | +| string.swift:365:15:365:15 | | string.swift:365:7:365:7 | SSA def(clean) | +| string.swift:366:7:366:7 | SSA def(tainted) | string.swift:373:3:373:3 | tainted | +| string.swift:366:17:366:25 | call to source2() | string.swift:366:7:366:7 | SSA def(tainted) | +| string.swift:368:3:368:3 | &... | string.swift:379:3:379:3 | clean | +| string.swift:368:3:368:3 | [post] &... | string.swift:379:3:379:3 | clean | +| string.swift:368:3:368:3 | clean | string.swift:368:3:368:3 | &... | +| string.swift:369:5:369:5 | SSA def(buffer) | string.swift:370:15:370:15 | buffer | +| string.swift:369:5:369:5 | buffer | string.swift:369:5:369:5 | SSA def(buffer) | +| string.swift:370:15:370:15 | buffer | string.swift:371:15:371:15 | buffer | +| string.swift:371:15:371:22 | .baseAddress | string.swift:371:15:371:33 | ...! | +| string.swift:373:3:373:3 | &... | string.swift:383:3:383:3 | tainted | +| string.swift:373:3:373:3 | [post] &... | string.swift:383:3:383:3 | tainted | +| string.swift:373:3:373:3 | tainted | string.swift:373:3:373:3 | &... | +| string.swift:374:5:374:5 | SSA def(buffer) | string.swift:375:15:375:15 | buffer | +| string.swift:374:5:374:5 | buffer | string.swift:374:5:374:5 | SSA def(buffer) | +| string.swift:375:15:375:15 | buffer | string.swift:376:15:376:15 | buffer | +| string.swift:376:15:376:22 | .baseAddress | string.swift:376:15:376:33 | ...! | +| string.swift:379:3:379:3 | [post] clean | string.swift:387:3:387:3 | clean | +| string.swift:379:3:379:3 | clean | string.swift:387:3:387:3 | clean | +| string.swift:380:5:380:5 | SSA def(ptr) | string.swift:381:15:381:15 | ptr | +| string.swift:380:5:380:5 | ptr | string.swift:380:5:380:5 | SSA def(ptr) | +| string.swift:383:3:383:3 | [post] tainted | string.swift:391:3:391:3 | tainted | +| string.swift:383:3:383:3 | tainted | string.swift:391:3:391:3 | tainted | +| string.swift:384:5:384:5 | SSA def(ptr) | string.swift:385:15:385:15 | ptr | +| string.swift:384:5:384:5 | ptr | string.swift:384:5:384:5 | SSA def(ptr) | +| string.swift:387:3:387:3 | [post] clean | string.swift:396:22:396:22 | clean | +| string.swift:387:3:387:3 | clean | string.swift:396:22:396:22 | clean | +| string.swift:388:5:388:5 | SSA def(ptr) | string.swift:389:15:389:15 | ptr | +| string.swift:388:5:388:5 | ptr | string.swift:388:5:388:5 | SSA def(ptr) | +| string.swift:391:3:391:3 | [post] tainted | string.swift:403:22:403:22 | tainted | +| string.swift:391:3:391:3 | tainted | string.swift:403:22:403:22 | tainted | +| string.swift:392:5:392:5 | SSA def(ptr) | string.swift:393:15:393:15 | ptr | +| string.swift:392:5:392:5 | ptr | string.swift:392:5:392:5 | SSA def(ptr) | +| string.swift:396:7:396:7 | SSA def(arrayString1) | string.swift:397:13:397:13 | arrayString1 | +| string.swift:396:22:396:22 | [post] clean | string.swift:411:3:411:3 | clean | +| string.swift:396:22:396:22 | clean | string.swift:396:22:396:63 | call to cString(using:) | +| string.swift:396:22:396:22 | clean | string.swift:411:3:411:3 | clean | +| string.swift:396:22:396:63 | call to cString(using:) | string.swift:396:22:396:64 | ...! | +| string.swift:396:22:396:64 | ...! | string.swift:396:7:396:7 | SSA def(arrayString1) | +| string.swift:397:13:397:13 | arrayString1 | string.swift:398:3:398:3 | arrayString1 | +| string.swift:398:3:398:3 | [post] arrayString1 | string.swift:405:3:405:3 | arrayString1 | +| string.swift:398:3:398:3 | arrayString1 | string.swift:405:3:405:3 | arrayString1 | +| string.swift:399:5:399:5 | SSA def(buffer) | string.swift:400:15:400:15 | buffer | +| string.swift:399:5:399:5 | buffer | string.swift:399:5:399:5 | SSA def(buffer) | +| string.swift:400:15:400:15 | buffer | string.swift:401:31:401:31 | buffer | +| string.swift:401:31:401:38 | .baseAddress | string.swift:401:31:401:49 | ...! | +| string.swift:401:31:401:49 | ...! | string.swift:401:15:401:50 | call to String.init(cString:) | +| string.swift:403:7:403:7 | SSA def(arrayString2) | string.swift:404:13:404:13 | arrayString2 | +| string.swift:403:22:403:22 | [post] tainted | string.swift:422:3:422:3 | tainted | +| string.swift:403:22:403:22 | tainted | string.swift:403:22:403:65 | call to cString(using:) | +| string.swift:403:22:403:22 | tainted | string.swift:422:3:422:3 | tainted | +| string.swift:403:22:403:65 | call to cString(using:) | string.swift:403:22:403:66 | ...! | +| string.swift:403:22:403:66 | ...! | string.swift:403:7:403:7 | SSA def(arrayString2) | +| string.swift:406:5:406:5 | SSA def(buffer) | string.swift:407:15:407:15 | buffer | +| string.swift:406:5:406:5 | buffer | string.swift:406:5:406:5 | SSA def(buffer) | +| string.swift:407:15:407:15 | buffer | string.swift:408:31:408:31 | buffer | +| string.swift:408:31:408:38 | .baseAddress | string.swift:408:31:408:49 | ...! | +| string.swift:408:31:408:49 | ...! | string.swift:408:15:408:50 | call to String.init(cString:) | +| string.swift:411:3:411:3 | [post] clean | string.swift:434:3:434:3 | clean | +| string.swift:411:3:411:3 | clean | string.swift:434:3:434:3 | clean | +| string.swift:412:5:412:5 | SSA def(ptr) | string.swift:413:15:413:15 | ptr | +| string.swift:412:5:412:5 | ptr | string.swift:412:5:412:5 | SSA def(ptr) | +| string.swift:413:15:413:15 | ptr | string.swift:414:38:414:38 | ptr | +| string.swift:414:38:414:38 | ptr | string.swift:414:15:414:41 | call to String.init(platformString:) | +| string.swift:414:38:414:38 | ptr | string.swift:416:45:416:45 | ptr | +| string.swift:416:9:416:9 | SSA def(buffer) | string.swift:417:29:417:29 | buffer | +| string.swift:416:18:416:59 | call to UnsafeBufferPointer.init(start:count:) | string.swift:416:9:416:9 | SSA def(buffer) | +| string.swift:417:9:417:9 | SSA def(arrayString) | string.swift:419:15:419:15 | arrayString | +| string.swift:417:23:417:35 | call to Array.init(_:) | string.swift:417:9:417:9 | SSA def(arrayString) | +| string.swift:417:29:417:29 | buffer | string.swift:418:15:418:15 | buffer | +| string.swift:419:15:419:15 | arrayString | string.swift:420:38:420:38 | arrayString | +| string.swift:420:38:420:38 | arrayString | string.swift:420:15:420:49 | call to String.init(platformString:) | +| string.swift:422:3:422:3 | [post] tainted | string.swift:439:3:439:3 | tainted | +| string.swift:422:3:422:3 | tainted | string.swift:439:3:439:3 | tainted | +| string.swift:423:5:423:5 | SSA def(ptr) | string.swift:424:15:424:15 | ptr | +| string.swift:423:5:423:5 | ptr | string.swift:423:5:423:5 | SSA def(ptr) | +| string.swift:424:15:424:15 | ptr | string.swift:425:38:425:38 | ptr | +| string.swift:425:38:425:38 | ptr | string.swift:425:15:425:41 | call to String.init(platformString:) | +| string.swift:425:38:425:38 | ptr | string.swift:427:45:427:45 | ptr | +| string.swift:427:9:427:9 | SSA def(buffer) | string.swift:428:29:428:29 | buffer | +| string.swift:427:18:427:59 | call to UnsafeBufferPointer.init(start:count:) | string.swift:427:9:427:9 | SSA def(buffer) | +| string.swift:428:9:428:9 | SSA def(arrayString) | string.swift:430:15:430:15 | arrayString | +| string.swift:428:23:428:35 | call to Array.init(_:) | string.swift:428:9:428:9 | SSA def(arrayString) | +| string.swift:428:29:428:29 | buffer | string.swift:429:15:429:15 | buffer | +| string.swift:430:15:430:15 | arrayString | string.swift:431:38:431:38 | arrayString | +| string.swift:431:38:431:38 | arrayString | string.swift:431:15:431:49 | call to String.init(platformString:) | +| string.swift:435:5:435:5 | SSA def(ptr) | string.swift:436:15:436:15 | ptr | +| string.swift:435:5:435:5 | ptr | string.swift:435:5:435:5 | SSA def(ptr) | +| string.swift:436:15:436:15 | ptr | string.swift:437:15:437:15 | ptr | +| string.swift:437:15:437:19 | .baseAddress | string.swift:437:15:437:30 | ...! | +| string.swift:440:5:440:5 | SSA def(ptr) | string.swift:441:15:441:15 | ptr | +| string.swift:440:5:440:5 | ptr | string.swift:440:5:440:5 | SSA def(ptr) | +| string.swift:441:15:441:15 | ptr | string.swift:442:15:442:15 | ptr | +| string.swift:442:15:442:19 | .baseAddress | string.swift:442:15:442:30 | ...! | +| string.swift:449:7:449:31 | SSA def(cleanUInt8Values) | string.swift:469:27:469:27 | cleanUInt8Values | +| string.swift:449:35:449:55 | [...] | string.swift:449:7:449:31 | SSA def(cleanUInt8Values) | +| string.swift:450:7:450:7 | SSA def(taintedUInt8Values) | string.swift:470:27:470:27 | taintedUInt8Values | +| string.swift:450:28:450:36 | call to source4() | string.swift:450:7:450:7 | SSA def(taintedUInt8Values) | +| string.swift:453:6:453:46 | SSA def(buffer) | string.swift:454:17:454:17 | buffer | +| string.swift:453:6:453:46 | buffer | string.swift:453:6:453:46 | SSA def(buffer) | +| string.swift:454:17:454:17 | buffer | string.swift:455:15:455:15 | buffer | +| string.swift:455:15:455:15 | [post] buffer | string.swift:456:17:456:17 | buffer | +| string.swift:455:15:455:15 | buffer | string.swift:456:17:456:17 | buffer | +| string.swift:461:6:461:46 | SSA def(buffer) | string.swift:462:17:462:17 | buffer | +| string.swift:461:6:461:46 | buffer | string.swift:461:6:461:46 | SSA def(buffer) | +| string.swift:462:17:462:17 | buffer | string.swift:463:15:463:15 | buffer | +| string.swift:463:15:463:15 | [post] buffer | string.swift:464:17:464:17 | buffer | +| string.swift:463:15:463:15 | buffer | string.swift:464:17:464:17 | buffer | +| string.swift:469:13:469:75 | call to String.init(bytes:encoding:) | string.swift:469:13:469:76 | ...! | +| string.swift:469:27:469:27 | cleanUInt8Values | string.swift:469:13:469:75 | call to String.init(bytes:encoding:) | +| string.swift:469:27:469:27 | cleanUInt8Values | string.swift:472:29:472:29 | cleanUInt8Values | +| string.swift:470:13:470:77 | call to String.init(bytes:encoding:) | string.swift:470:13:470:78 | ...! | +| string.swift:470:27:470:27 | taintedUInt8Values | string.swift:470:13:470:77 | call to String.init(bytes:encoding:) | +| string.swift:470:27:470:27 | taintedUInt8Values | string.swift:473:29:473:29 | taintedUInt8Values | +| string.swift:472:29:472:29 | cleanUInt8Values | string.swift:472:13:472:45 | call to String.init(cString:) | +| string.swift:472:29:472:29 | cleanUInt8Values | string.swift:475:8:475:8 | cleanUInt8Values | +| string.swift:473:29:473:29 | taintedUInt8Values | string.swift:473:13:473:47 | call to String.init(cString:) | +| string.swift:473:29:473:29 | taintedUInt8Values | string.swift:481:8:481:8 | taintedUInt8Values | +| string.swift:475:8:475:8 | [post] cleanUInt8Values | string.swift:488:8:488:8 | cleanUInt8Values | +| string.swift:475:8:475:8 | cleanUInt8Values | string.swift:488:8:488:8 | cleanUInt8Values | +| string.swift:475:8:480:4 | call to withUnsafeBufferPointer(_:) | string.swift:475:3:480:4 | try! ... | +| string.swift:476:6:476:39 | SSA def(buffer) | string.swift:477:15:477:15 | buffer | +| string.swift:476:6:476:39 | buffer | string.swift:476:6:476:39 | SSA def(buffer) | +| string.swift:477:15:477:15 | buffer | string.swift:478:15:478:15 | buffer | +| string.swift:478:15:478:15 | [post] buffer | string.swift:479:31:479:31 | buffer | +| string.swift:478:15:478:15 | buffer | string.swift:479:31:479:31 | buffer | +| string.swift:478:15:478:22 | .baseAddress | string.swift:478:15:478:33 | ...! | +| string.swift:479:31:479:38 | .baseAddress | string.swift:479:31:479:49 | ...! | +| string.swift:479:31:479:49 | ...! | string.swift:479:15:479:50 | call to String.init(cString:) | +| string.swift:481:8:481:8 | [post] taintedUInt8Values | string.swift:494:8:494:8 | taintedUInt8Values | +| string.swift:481:8:481:8 | taintedUInt8Values | string.swift:494:8:494:8 | taintedUInt8Values | +| string.swift:481:8:486:4 | call to withUnsafeBufferPointer(_:) | string.swift:481:3:486:4 | try! ... | +| string.swift:482:6:482:39 | SSA def(buffer) | string.swift:483:15:483:15 | buffer | +| string.swift:482:6:482:39 | buffer | string.swift:482:6:482:39 | SSA def(buffer) | +| string.swift:483:15:483:15 | buffer | string.swift:484:15:484:15 | buffer | +| string.swift:484:15:484:15 | [post] buffer | string.swift:485:31:485:31 | buffer | +| string.swift:484:15:484:15 | buffer | string.swift:485:31:485:31 | buffer | +| string.swift:484:15:484:22 | .baseAddress | string.swift:484:15:484:33 | ...! | +| string.swift:485:31:485:38 | .baseAddress | string.swift:485:31:485:49 | ...! | +| string.swift:485:31:485:49 | ...! | string.swift:485:15:485:50 | call to String.init(cString:) | +| string.swift:488:8:488:8 | cleanUInt8Values | string.swift:488:8:488:8 | &... | +| string.swift:488:8:493:4 | call to withUnsafeMutableBytes(_:) | string.swift:488:3:493:4 | try! ... | +| string.swift:489:6:489:14 | SSA def(buffer) | string.swift:490:15:490:15 | buffer | +| string.swift:489:6:489:14 | buffer | string.swift:489:6:489:14 | SSA def(buffer) | +| string.swift:490:15:490:15 | [post] buffer | string.swift:491:15:491:15 | buffer | +| string.swift:490:15:490:15 | buffer | string.swift:491:15:491:15 | buffer | +| string.swift:491:15:491:15 | [post] buffer | string.swift:492:35:492:35 | buffer | +| string.swift:491:15:491:15 | buffer | string.swift:492:35:492:35 | buffer | +| string.swift:491:15:491:22 | .baseAddress | string.swift:491:15:491:33 | ...! | +| string.swift:492:15:492:129 | call to String.init(bytesNoCopy:length:encoding:freeWhenDone:) | string.swift:492:15:492:130 | ...! | +| string.swift:492:35:492:35 | [post] buffer | string.swift:492:64:492:64 | buffer | +| string.swift:492:35:492:35 | buffer | string.swift:492:64:492:64 | buffer | +| string.swift:492:35:492:42 | .baseAddress | string.swift:492:35:492:53 | ...! | +| string.swift:492:35:492:53 | ...! | string.swift:492:15:492:129 | call to String.init(bytesNoCopy:length:encoding:freeWhenDone:) | +| string.swift:494:8:494:8 | taintedUInt8Values | string.swift:494:8:494:8 | &... | +| string.swift:494:8:499:4 | call to withUnsafeMutableBytes(_:) | string.swift:494:3:499:4 | try! ... | +| string.swift:495:6:495:14 | SSA def(buffer) | string.swift:496:15:496:15 | buffer | +| string.swift:495:6:495:14 | buffer | string.swift:495:6:495:14 | SSA def(buffer) | +| string.swift:496:15:496:15 | [post] buffer | string.swift:497:15:497:15 | buffer | +| string.swift:496:15:496:15 | buffer | string.swift:497:15:497:15 | buffer | +| string.swift:497:15:497:15 | [post] buffer | string.swift:498:35:498:35 | buffer | +| string.swift:497:15:497:15 | buffer | string.swift:498:35:498:35 | buffer | +| string.swift:497:15:497:22 | .baseAddress | string.swift:497:15:497:33 | ...! | +| string.swift:498:15:498:129 | call to String.init(bytesNoCopy:length:encoding:freeWhenDone:) | string.swift:498:15:498:130 | ...! | +| string.swift:498:35:498:35 | [post] buffer | string.swift:498:64:498:64 | buffer | +| string.swift:498:35:498:35 | buffer | string.swift:498:64:498:64 | buffer | +| string.swift:498:35:498:42 | .baseAddress | string.swift:498:35:498:53 | ...! | +| string.swift:498:35:498:53 | ...! | string.swift:498:15:498:129 | call to String.init(bytesNoCopy:length:encoding:freeWhenDone:) | +| string.swift:505:7:505:31 | SSA def(cleanCCharValues) | string.swift:508:3:508:3 | cleanCCharValues | +| string.swift:505:35:505:55 | [...] | string.swift:505:7:505:31 | SSA def(cleanCCharValues) | +| string.swift:506:7:506:33 | SSA def(taintedCCharValues) | string.swift:516:3:516:3 | taintedCCharValues | +| string.swift:506:37:506:45 | call to source5() | string.swift:506:7:506:33 | SSA def(taintedCCharValues) | +| string.swift:508:3:508:3 | [post] cleanCCharValues | string.swift:525:29:525:29 | cleanCCharValues | +| string.swift:508:3:508:3 | cleanCCharValues | string.swift:525:29:525:29 | cleanCCharValues | +| string.swift:509:5:509:5 | SSA def(ptr) | string.swift:510:15:510:15 | ptr | +| string.swift:509:5:509:5 | ptr | string.swift:509:5:509:5 | SSA def(ptr) | +| string.swift:510:15:510:15 | ptr | string.swift:511:15:511:15 | ptr | +| string.swift:511:15:511:15 | [post] ptr | string.swift:512:34:512:34 | ptr | +| string.swift:511:15:511:15 | ptr | string.swift:512:34:512:34 | ptr | +| string.swift:511:15:511:19 | .baseAddress | string.swift:511:15:511:30 | ...! | +| string.swift:512:15:512:50 | call to String.init(utf8String:) | string.swift:512:15:512:51 | ...! | +| string.swift:512:34:512:34 | [post] ptr | string.swift:513:38:513:38 | ptr | +| string.swift:512:34:512:34 | ptr | string.swift:513:38:513:38 | ptr | +| string.swift:512:34:512:38 | .baseAddress | string.swift:512:34:512:49 | ...! | +| string.swift:512:34:512:49 | ...! | string.swift:512:15:512:50 | call to String.init(utf8String:) | +| string.swift:513:15:513:54 | call to String.init(validatingUTF8:) | string.swift:513:15:513:55 | ...! | +| string.swift:513:38:513:38 | [post] ptr | string.swift:514:31:514:31 | ptr | +| string.swift:513:38:513:38 | ptr | string.swift:514:31:514:31 | ptr | +| string.swift:513:38:513:42 | .baseAddress | string.swift:513:38:513:53 | ...! | +| string.swift:513:38:513:53 | ...! | string.swift:513:15:513:54 | call to String.init(validatingUTF8:) | +| string.swift:514:31:514:35 | .baseAddress | string.swift:514:31:514:46 | ...! | +| string.swift:514:31:514:46 | ...! | string.swift:514:15:514:47 | call to String.init(cString:) | +| string.swift:516:3:516:3 | [post] taintedCCharValues | string.swift:526:29:526:29 | taintedCCharValues | +| string.swift:516:3:516:3 | taintedCCharValues | string.swift:526:29:526:29 | taintedCCharValues | +| string.swift:517:5:517:5 | SSA def(ptr) | string.swift:518:15:518:15 | ptr | +| string.swift:517:5:517:5 | ptr | string.swift:517:5:517:5 | SSA def(ptr) | +| string.swift:518:15:518:15 | ptr | string.swift:519:15:519:15 | ptr | +| string.swift:519:15:519:15 | [post] ptr | string.swift:520:34:520:34 | ptr | +| string.swift:519:15:519:15 | ptr | string.swift:520:34:520:34 | ptr | +| string.swift:519:15:519:19 | .baseAddress | string.swift:519:15:519:30 | ...! | +| string.swift:520:15:520:50 | call to String.init(utf8String:) | string.swift:520:15:520:51 | ...! | +| string.swift:520:34:520:34 | [post] ptr | string.swift:521:38:521:38 | ptr | +| string.swift:520:34:520:34 | ptr | string.swift:521:38:521:38 | ptr | +| string.swift:520:34:520:38 | .baseAddress | string.swift:520:34:520:49 | ...! | +| string.swift:520:34:520:49 | ...! | string.swift:520:15:520:50 | call to String.init(utf8String:) | +| string.swift:521:15:521:54 | call to String.init(validatingUTF8:) | string.swift:521:15:521:55 | ...! | +| string.swift:521:38:521:38 | [post] ptr | string.swift:522:31:522:31 | ptr | +| string.swift:521:38:521:38 | ptr | string.swift:522:31:522:31 | ptr | +| string.swift:521:38:521:42 | .baseAddress | string.swift:521:38:521:53 | ...! | +| string.swift:521:38:521:53 | ...! | string.swift:521:15:521:54 | call to String.init(validatingUTF8:) | +| string.swift:522:31:522:35 | .baseAddress | string.swift:522:31:522:46 | ...! | +| string.swift:522:31:522:46 | ...! | string.swift:522:15:522:47 | call to String.init(cString:) | +| string.swift:525:29:525:29 | cleanCCharValues | string.swift:525:13:525:45 | call to String.init(cString:) | +| string.swift:526:29:526:29 | taintedCCharValues | string.swift:526:13:526:47 | call to String.init(cString:) | +| string.swift:532:7:532:35 | SSA def(cleanUnicharValues) | string.swift:535:3:535:3 | cleanUnicharValues | +| string.swift:532:39:532:59 | [...] | string.swift:532:7:532:35 | SSA def(cleanUnicharValues) | +| string.swift:533:7:533:37 | SSA def(taintedUnicharValues) | string.swift:542:3:542:3 | taintedUnicharValues | +| string.swift:533:41:533:49 | call to source6() | string.swift:533:7:533:37 | SSA def(taintedUnicharValues) | +| string.swift:536:5:536:5 | SSA def(ptr) | string.swift:537:15:537:15 | ptr | +| string.swift:536:5:536:5 | ptr | string.swift:536:5:536:5 | SSA def(ptr) | +| string.swift:537:15:537:15 | ptr | string.swift:538:15:538:15 | ptr | +| string.swift:538:15:538:15 | [post] ptr | string.swift:539:38:539:38 | ptr | +| string.swift:538:15:538:15 | ptr | string.swift:539:38:539:38 | ptr | +| string.swift:538:15:538:19 | .baseAddress | string.swift:538:15:538:30 | ...! | +| string.swift:539:38:539:38 | [post] ptr | string.swift:539:63:539:63 | ptr | +| string.swift:539:38:539:38 | ptr | string.swift:539:63:539:63 | ptr | +| string.swift:539:38:539:42 | .baseAddress | string.swift:539:38:539:53 | ...! | +| string.swift:539:38:539:53 | ...! | string.swift:539:15:539:72 | call to String.init(utf16CodeUnits:count:) | +| string.swift:539:63:539:63 | [post] ptr | string.swift:540:44:540:44 | ptr | +| string.swift:539:63:539:63 | ptr | string.swift:540:44:540:44 | ptr | +| string.swift:540:44:540:44 | [post] ptr | string.swift:540:69:540:69 | ptr | +| string.swift:540:44:540:44 | ptr | string.swift:540:69:540:69 | ptr | +| string.swift:540:44:540:48 | .baseAddress | string.swift:540:44:540:59 | ...! | +| string.swift:540:44:540:59 | ...! | string.swift:540:15:540:99 | call to String.init(utf16CodeUnitsNoCopy:count:freeWhenDone:) | +| string.swift:543:5:543:5 | SSA def(ptr) | string.swift:544:15:544:15 | ptr | +| string.swift:543:5:543:5 | ptr | string.swift:543:5:543:5 | SSA def(ptr) | +| string.swift:544:15:544:15 | ptr | string.swift:545:15:545:15 | ptr | +| string.swift:545:15:545:15 | [post] ptr | string.swift:546:38:546:38 | ptr | +| string.swift:545:15:545:15 | ptr | string.swift:546:38:546:38 | ptr | +| string.swift:545:15:545:19 | .baseAddress | string.swift:545:15:545:30 | ...! | +| string.swift:546:38:546:38 | [post] ptr | string.swift:546:63:546:63 | ptr | +| string.swift:546:38:546:38 | ptr | string.swift:546:63:546:63 | ptr | +| string.swift:546:38:546:42 | .baseAddress | string.swift:546:38:546:53 | ...! | +| string.swift:546:38:546:53 | ...! | string.swift:546:15:546:72 | call to String.init(utf16CodeUnits:count:) | +| string.swift:546:63:546:63 | [post] ptr | string.swift:547:44:547:44 | ptr | +| string.swift:546:63:546:63 | ptr | string.swift:547:44:547:44 | ptr | +| string.swift:547:44:547:44 | [post] ptr | string.swift:547:69:547:69 | ptr | +| string.swift:547:44:547:44 | ptr | string.swift:547:69:547:69 | ptr | +| string.swift:547:44:547:48 | .baseAddress | string.swift:547:44:547:59 | ...! | +| string.swift:547:44:547:59 | ...! | string.swift:547:15:547:99 | call to String.init(utf16CodeUnitsNoCopy:count:freeWhenDone:) | +| string.swift:554:7:554:7 | SSA def(tainted) | string.swift:558:14:558:14 | tainted | +| string.swift:554:17:554:25 | call to source2() | string.swift:554:7:554:7 | SSA def(tainted) | +| string.swift:558:7:558:7 | SSA def(sub1) | string.swift:559:13:559:13 | sub1 | +| string.swift:558:14:558:14 | [post] tainted | string.swift:558:22:558:22 | tainted | +| string.swift:558:14:558:14 | tainted | string.swift:558:14:558:61 | ...[...] | +| string.swift:558:14:558:14 | tainted | string.swift:558:22:558:22 | tainted | +| string.swift:558:14:558:61 | ...[...] | string.swift:558:7:558:7 | SSA def(sub1) | +| string.swift:558:22:558:22 | [post] tainted | string.swift:558:45:558:45 | tainted | +| string.swift:558:22:558:22 | tainted | string.swift:558:45:558:45 | tainted | +| string.swift:558:45:558:45 | [post] tainted | string.swift:562:14:562:14 | tainted | +| string.swift:558:45:558:45 | tainted | string.swift:562:14:562:14 | tainted | +| string.swift:559:13:559:13 | [post] sub1 | string.swift:560:20:560:20 | sub1 | +| string.swift:559:13:559:13 | sub1 | string.swift:560:20:560:20 | sub1 | +| string.swift:560:20:560:20 | sub1 | string.swift:560:13:560:24 | call to String.init(_:) | +| string.swift:562:7:562:7 | SSA def(sub2) | string.swift:563:13:563:13 | sub2 | +| string.swift:562:14:562:14 | [post] tainted | string.swift:566:14:566:14 | tainted | +| string.swift:562:14:562:14 | tainted | string.swift:562:14:562:31 | call to prefix(_:) | +| string.swift:562:14:562:14 | tainted | string.swift:566:14:566:14 | tainted | +| string.swift:562:14:562:31 | call to prefix(_:) | string.swift:562:7:562:7 | SSA def(sub2) | +| string.swift:563:13:563:13 | sub2 | string.swift:564:20:564:20 | sub2 | +| string.swift:564:20:564:20 | sub2 | string.swift:564:13:564:24 | call to String.init(_:) | +| string.swift:566:7:566:7 | SSA def(sub3) | string.swift:567:13:567:13 | sub3 | +| string.swift:566:14:566:14 | [post] tainted | string.swift:566:38:566:38 | tainted | +| string.swift:566:14:566:14 | tainted | string.swift:566:14:566:54 | call to prefix(through:) | +| string.swift:566:14:566:14 | tainted | string.swift:566:38:566:38 | tainted | +| string.swift:566:14:566:54 | call to prefix(through:) | string.swift:566:7:566:7 | SSA def(sub3) | +| string.swift:566:38:566:38 | [post] tainted | string.swift:570:14:570:14 | tainted | +| string.swift:566:38:566:38 | tainted | string.swift:570:14:570:14 | tainted | +| string.swift:567:13:567:13 | sub3 | string.swift:568:20:568:20 | sub3 | +| string.swift:568:20:568:20 | sub3 | string.swift:568:13:568:24 | call to String.init(_:) | +| string.swift:570:7:570:7 | SSA def(sub4) | string.swift:571:13:571:13 | sub4 | +| string.swift:570:14:570:14 | [post] tainted | string.swift:570:35:570:35 | tainted | +| string.swift:570:14:570:14 | tainted | string.swift:570:14:570:51 | call to prefix(upTo:) | +| string.swift:570:14:570:14 | tainted | string.swift:570:35:570:35 | tainted | +| string.swift:570:14:570:51 | call to prefix(upTo:) | string.swift:570:7:570:7 | SSA def(sub4) | +| string.swift:570:35:570:35 | [post] tainted | string.swift:574:14:574:14 | tainted | +| string.swift:570:35:570:35 | tainted | string.swift:574:14:574:14 | tainted | +| string.swift:571:13:571:13 | sub4 | string.swift:572:20:572:20 | sub4 | +| string.swift:572:20:572:20 | sub4 | string.swift:572:13:572:24 | call to String.init(_:) | +| string.swift:574:7:574:7 | SSA def(sub5) | string.swift:575:13:575:13 | sub5 | +| string.swift:574:14:574:14 | [post] tainted | string.swift:578:14:578:14 | tainted | +| string.swift:574:14:574:14 | tainted | string.swift:574:14:574:31 | call to suffix(_:) | +| string.swift:574:14:574:14 | tainted | string.swift:578:14:578:14 | tainted | +| string.swift:574:14:574:31 | call to suffix(_:) | string.swift:574:7:574:7 | SSA def(sub5) | +| string.swift:575:13:575:13 | sub5 | string.swift:576:20:576:20 | sub5 | +| string.swift:576:20:576:20 | sub5 | string.swift:576:13:576:24 | call to String.init(_:) | +| string.swift:578:7:578:7 | SSA def(sub6) | string.swift:579:13:579:13 | sub6 | +| string.swift:578:14:578:14 | [post] tainted | string.swift:578:35:578:35 | tainted | +| string.swift:578:14:578:14 | tainted | string.swift:578:14:578:53 | call to suffix(from:) | +| string.swift:578:14:578:14 | tainted | string.swift:578:35:578:35 | tainted | +| string.swift:578:14:578:53 | call to suffix(from:) | string.swift:578:7:578:7 | SSA def(sub6) | +| string.swift:579:13:579:13 | sub6 | string.swift:580:20:580:20 | sub6 | +| string.swift:580:20:580:20 | sub6 | string.swift:580:13:580:24 | call to String.init(_:) | +| string.swift:584:7:584:7 | SSA def(clean) | string.swift:587:13:587:13 | clean | +| string.swift:584:15:584:26 | call to FilePath.init(_:) | string.swift:584:7:584:7 | SSA def(clean) | +| string.swift:585:7:585:7 | SSA def(tainted) | string.swift:588:13:588:13 | tainted | +| string.swift:585:17:585:35 | call to FilePath.init(_:) | string.swift:585:7:585:7 | SSA def(tainted) | +| string.swift:587:13:587:13 | [post] clean | string.swift:599:11:599:11 | clean | +| string.swift:587:13:587:13 | clean | string.swift:599:11:599:11 | clean | +| string.swift:588:13:588:13 | [post] tainted | string.swift:590:13:590:13 | tainted | +| string.swift:588:13:588:13 | tainted | string.swift:590:13:590:13 | tainted | +| string.swift:590:13:590:13 | [post] tainted | string.swift:591:13:591:13 | tainted | +| string.swift:590:13:590:13 | tainted | string.swift:591:13:591:13 | tainted | +| string.swift:590:13:590:21 | .extension | string.swift:590:13:590:30 | ...! | +| string.swift:591:13:591:13 | [post] tainted | string.swift:592:13:592:13 | tainted | +| string.swift:591:13:591:13 | tainted | string.swift:592:13:592:13 | tainted | +| string.swift:591:13:591:21 | .stem | string.swift:591:13:591:25 | ...! | +| string.swift:592:13:592:13 | [post] tainted | string.swift:593:13:593:13 | tainted | +| string.swift:592:13:592:13 | tainted | string.swift:593:13:593:13 | tainted | +| string.swift:593:13:593:13 | [post] tainted | string.swift:594:13:594:13 | tainted | +| string.swift:593:13:593:13 | tainted | string.swift:594:13:594:13 | tainted | +| string.swift:594:13:594:13 | [post] tainted | string.swift:596:30:596:30 | tainted | +| string.swift:594:13:594:13 | tainted | string.swift:596:30:596:30 | tainted | +| string.swift:596:30:596:30 | [post] tainted | string.swift:597:32:597:32 | tainted | +| string.swift:596:30:596:30 | tainted | string.swift:596:13:596:37 | call to String.init(decoding:) | +| string.swift:596:30:596:30 | tainted | string.swift:597:32:597:32 | tainted | +| string.swift:597:13:597:39 | call to String.init(validating:) | string.swift:597:13:597:40 | ...! | +| string.swift:597:32:597:32 | [post] tainted | string.swift:603:11:603:11 | tainted | +| string.swift:597:32:597:32 | tainted | string.swift:597:13:597:39 | call to String.init(validating:) | +| string.swift:597:32:597:32 | tainted | string.swift:603:11:603:11 | tainted | +| string.swift:599:11:599:11 | [post] clean | string.swift:608:11:608:11 | clean | +| string.swift:599:11:599:11 | clean | string.swift:608:11:608:11 | clean | +| string.swift:600:5:600:5 | SSA def(ptr) | string.swift:601:15:601:15 | ptr | +| string.swift:600:5:600:5 | ptr | string.swift:600:5:600:5 | SSA def(ptr) | +| string.swift:603:11:603:11 | [post] tainted | string.swift:614:11:614:11 | tainted | +| string.swift:603:11:603:11 | tainted | string.swift:614:11:614:11 | tainted | +| string.swift:604:5:604:5 | SSA def(ptr) | string.swift:605:15:605:15 | ptr | +| string.swift:604:5:604:5 | ptr | string.swift:604:5:604:5 | SSA def(ptr) | +| string.swift:608:11:608:11 | [post] clean | string.swift:628:13:628:13 | clean | +| string.swift:608:11:608:11 | clean | string.swift:628:13:628:13 | clean | +| string.swift:609:5:609:5 | SSA def(ptr) | string.swift:610:15:610:15 | ptr | +| string.swift:609:5:609:5 | ptr | string.swift:609:5:609:5 | SSA def(ptr) | +| string.swift:610:15:610:15 | ptr | string.swift:611:38:611:38 | ptr | +| string.swift:611:38:611:38 | ptr | string.swift:611:15:611:41 | call to String.init(platformString:) | +| string.swift:611:38:611:38 | ptr | string.swift:612:48:612:48 | ptr | +| string.swift:612:15:612:51 | call to String.init(validatingPlatformString:) | string.swift:612:15:612:52 | ...! | +| string.swift:612:48:612:48 | ptr | string.swift:612:15:612:51 | call to String.init(validatingPlatformString:) | +| string.swift:614:11:614:11 | [post] tainted | string.swift:630:13:630:13 | tainted | +| string.swift:614:11:614:11 | tainted | string.swift:630:13:630:13 | tainted | +| string.swift:615:5:615:5 | SSA def(ptr) | string.swift:616:15:616:15 | ptr | +| string.swift:615:5:615:5 | ptr | string.swift:615:5:615:5 | SSA def(ptr) | +| string.swift:616:15:616:15 | ptr | string.swift:617:38:617:38 | ptr | +| string.swift:617:38:617:38 | ptr | string.swift:617:15:617:41 | call to String.init(platformString:) | +| string.swift:617:38:617:38 | ptr | string.swift:618:48:618:48 | ptr | +| string.swift:618:15:618:51 | call to String.init(validatingPlatformString:) | string.swift:618:15:618:52 | ...! | +| string.swift:618:48:618:48 | ptr | string.swift:618:15:618:51 | call to String.init(validatingPlatformString:) | +| string.swift:621:7:621:7 | SSA def(fp1) | string.swift:622:13:622:13 | fp1 | +| string.swift:621:13:621:24 | call to FilePath.init(_:) | string.swift:621:7:621:7 | SSA def(fp1) | +| string.swift:622:13:622:13 | [post] fp1 | string.swift:623:3:623:3 | fp1 | +| string.swift:622:13:622:13 | fp1 | string.swift:623:3:623:3 | fp1 | +| string.swift:623:3:623:3 | &... | string.swift:624:13:624:13 | fp1 | +| string.swift:623:3:623:3 | [post] &... | string.swift:624:13:624:13 | fp1 | +| string.swift:623:3:623:3 | fp1 | string.swift:623:3:623:3 | &... | +| string.swift:624:13:624:13 | [post] fp1 | string.swift:625:3:625:3 | fp1 | +| string.swift:624:13:624:13 | fp1 | string.swift:625:3:625:3 | fp1 | +| string.swift:625:3:625:3 | &... | string.swift:626:13:626:13 | fp1 | +| string.swift:625:3:625:3 | [post] &... | string.swift:626:13:626:13 | fp1 | +| string.swift:625:3:625:3 | fp1 | string.swift:625:3:625:3 | &... | +| string.swift:628:13:628:13 | [post] clean | string.swift:629:13:629:13 | clean | +| string.swift:628:13:628:13 | clean | string.swift:629:13:629:13 | clean | +| string.swift:630:13:630:13 | [post] tainted | string.swift:631:13:631:13 | tainted | +| string.swift:630:13:630:13 | tainted | string.swift:631:13:631:13 | tainted | +| string.swift:635:20:635:20 | 0 | string.swift:635:13:635:21 | call to String.init(_:) | +| string.swift:636:20:636:27 | call to source() | string.swift:636:13:636:28 | call to String.init(_:) | +| string.swift:639:32:639:32 | 0 | string.swift:639:13:639:33 | call to String.init(describing:) | +| string.swift:640:32:640:39 | call to source() | string.swift:640:13:640:40 | call to String.init(describing:) | +| string.swift:642:13:642:22 | call to Self.init(_:) | string.swift:642:13:642:23 | ...! | +| string.swift:643:13:643:26 | call to Self.init(_:) | string.swift:643:13:643:27 | ...! | +| string.swift:647:7:647:7 | SSA def(tainted) | string.swift:651:13:651:13 | tainted | +| string.swift:647:17:647:25 | call to source2() | string.swift:647:7:647:7 | SSA def(tainted) | | subscript.swift:1:7:1:7 | SSA def(self) | subscript.swift:1:7:1:7 | self[return] | | subscript.swift:1:7:1:7 | SSA def(self) | subscript.swift:1:7:1:7 | self[return] | | subscript.swift:1:7:1:7 | self | subscript.swift:1:7:1:7 | SSA def(self) | diff --git a/swift/ql/test/library-tests/dataflow/taint/Taint.expected b/swift/ql/test/library-tests/dataflow/taint/Taint.expected index 462ad33a929..fef44d98a5a 100644 --- a/swift/ql/test/library-tests/dataflow/taint/Taint.expected +++ b/swift/ql/test/library-tests/dataflow/taint/Taint.expected @@ -338,250 +338,262 @@ edges | string.swift:67:3:67:77 | [summary param] 0 in String.init(format:locale:arguments:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(format:locale:arguments:) : | | string.swift:69:3:69:106 | [summary param] 0 in localizedStringWithFormat(_:_:) : | file://:0:0:0:0 | [summary] to write: return (return) in localizedStringWithFormat(_:_:) : | | string.swift:71:3:71:102 | [summary param] 0 in String.init(bytes:encoding:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(bytes:encoding:) : | -| string.swift:98:3:98:63 | [summary param] this in lowercased(with:) : | file://:0:0:0:0 | [summary] to write: return (return) in lowercased(with:) : | -| string.swift:99:3:99:63 | [summary param] this in uppercased(with:) : | file://:0:0:0:0 | [summary] to write: return (return) in uppercased(with:) : | -| string.swift:100:3:100:64 | [summary param] this in capitalized(with:) : | file://:0:0:0:0 | [summary] to write: return (return) in capitalized(with:) : | -| string.swift:101:3:101:64 | [summary param] this in substring(from:) : | file://:0:0:0:0 | [summary] to write: return (return) in substring(from:) : | -| string.swift:102:3:102:71 | [summary param] this in trimmingCharacters(in:) : | file://:0:0:0:0 | [summary] to write: return (return) in trimmingCharacters(in:) : | -| string.swift:103:3:103:82 | [summary param] 0 in appending(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in appending(_:) : | -| string.swift:103:3:103:82 | [summary param] this in appending(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in appending(_:) : | -| string.swift:104:3:104:138 | [summary param] this in padding(toLength:withPad:startingAt:) : | file://:0:0:0:0 | [summary] to write: return (return) in padding(toLength:withPad:startingAt:) : | -| string.swift:105:3:105:80 | [summary param] this in components(separatedBy:) : | file://:0:0:0:0 | [summary] to write: return (return) in components(separatedBy:) : | -| string.swift:106:3:106:92 | [summary param] this in folding(options:locale:) : | file://:0:0:0:0 | [summary] to write: return (return) in folding(options:locale:) : | -| string.swift:107:3:107:78 | [summary param] this in propertyListFromStringsFileFormat() : | file://:0:0:0:0 | [summary] to write: return (return) in propertyListFromStringsFileFormat() : | -| string.swift:108:3:108:74 | [summary param] this in cString(using:) : | file://:0:0:0:0 | [summary] to write: return (return) in cString(using:) : | -| string.swift:109:8:109:8 | self : | string.swift:109:3:109:79 | self[return] : | -| string.swift:132:11:132:18 | call to source() : | string.swift:134:13:134:13 | "..." | -| string.swift:132:11:132:18 | call to source() : | string.swift:136:13:136:13 | "..." | -| string.swift:132:11:132:18 | call to source() : | string.swift:138:13:138:13 | "..." | -| string.swift:132:11:132:18 | call to source() : | string.swift:144:13:144:13 | "..." | -| string.swift:132:11:132:18 | call to source() : | string.swift:146:13:146:13 | "..." | -| string.swift:156:17:156:25 | call to source2() : | string.swift:159:13:159:13 | tainted | -| string.swift:156:17:156:25 | call to source2() : | string.swift:162:13:162:21 | ... .+(_:_:) ... | -| string.swift:156:17:156:25 | call to source2() : | string.swift:163:13:163:23 | ... .+(_:_:) ... | -| string.swift:156:17:156:25 | call to source2() : | string.swift:164:13:164:23 | ... .+(_:_:) ... | -| string.swift:156:17:156:25 | call to source2() : | string.swift:167:13:167:29 | ... .+(_:_:) ... | -| string.swift:156:17:156:25 | call to source2() : | string.swift:170:29:170:29 | tainted : | -| string.swift:156:17:156:25 | call to source2() : | string.swift:171:13:171:13 | tainted : | -| string.swift:156:17:156:25 | call to source2() : | string.swift:172:13:172:13 | tainted : | -| string.swift:156:17:156:25 | call to source2() : | string.swift:172:31:172:31 | tainted : | -| string.swift:170:29:170:29 | tainted : | string.swift:103:3:103:82 | [summary param] 0 in appending(_:) : | -| string.swift:170:29:170:29 | tainted : | string.swift:170:13:170:36 | call to appending(_:) | -| string.swift:171:13:171:13 | tainted : | string.swift:103:3:103:82 | [summary param] this in appending(_:) : | -| string.swift:171:13:171:13 | tainted : | string.swift:171:13:171:36 | call to appending(_:) | -| string.swift:172:13:172:13 | tainted : | string.swift:103:3:103:82 | [summary param] this in appending(_:) : | -| string.swift:172:13:172:13 | tainted : | string.swift:172:13:172:38 | call to appending(_:) | -| string.swift:172:31:172:31 | tainted : | string.swift:103:3:103:82 | [summary param] 0 in appending(_:) : | -| string.swift:172:31:172:31 | tainted : | string.swift:172:13:172:38 | call to appending(_:) | -| string.swift:185:3:185:3 | [post] &... : | string.swift:186:13:186:13 | str2 | -| string.swift:185:15:185:23 | call to source2() : | file://:0:0:0:0 | [summary param] 0 in append(_:) : | -| string.swift:185:15:185:23 | call to source2() : | string.swift:185:3:185:3 | [post] &... : | -| string.swift:192:3:192:3 | [post] &... : | string.swift:193:13:193:13 | str3 | -| string.swift:192:27:192:35 | call to source2() : | file://:0:0:0:0 | [summary param] 0 in append(contentsOf:) : | -| string.swift:192:27:192:35 | call to source2() : | string.swift:192:3:192:3 | [post] &... : | -| string.swift:199:3:199:3 | [post] &... : | string.swift:200:13:200:13 | str4 | -| string.swift:199:14:199:22 | call to source2() : | file://:0:0:0:0 | [summary param] 0 in write(_:) : | -| string.swift:199:14:199:22 | call to source2() : | string.swift:199:3:199:3 | [post] &... : | -| string.swift:206:3:206:3 | [post] &... : | string.swift:207:13:207:13 | str5 | -| string.swift:206:27:206:35 | call to source2() : | file://:0:0:0:0 | [summary param] 0 in insert(contentsOf:at:) : | -| string.swift:206:27:206:35 | call to source2() : | string.swift:206:3:206:3 | [post] &... : | -| string.swift:212:17:212:25 | call to source2() : | string.swift:216:20:216:20 | tainted : | -| string.swift:212:17:212:25 | call to source2() : | string.swift:219:28:219:28 | tainted : | -| string.swift:212:17:212:25 | call to source2() : | string.swift:220:28:220:28 | tainted : | -| string.swift:212:17:212:25 | call to source2() : | string.swift:221:28:221:28 | tainted : | -| string.swift:212:17:212:25 | call to source2() : | string.swift:222:28:222:28 | tainted : | -| string.swift:212:17:212:25 | call to source2() : | string.swift:223:46:223:46 | tainted : | -| string.swift:212:17:212:25 | call to source2() : | string.swift:228:31:228:31 | tainted : | -| string.swift:212:17:212:25 | call to source2() : | string.swift:230:13:230:13 | tainted : | -| string.swift:212:17:212:25 | call to source2() : | string.swift:231:13:231:13 | tainted : | -| string.swift:212:17:212:25 | call to source2() : | string.swift:232:13:232:13 | tainted : | -| string.swift:212:17:212:25 | call to source2() : | string.swift:234:13:234:13 | tainted : | -| string.swift:212:17:212:25 | call to source2() : | string.swift:235:13:235:13 | tainted : | -| string.swift:212:17:212:25 | call to source2() : | string.swift:236:13:236:13 | tainted : | -| string.swift:212:17:212:25 | call to source2() : | string.swift:237:13:237:13 | tainted : | -| string.swift:212:17:212:25 | call to source2() : | string.swift:238:13:238:13 | tainted : | -| string.swift:212:17:212:25 | call to source2() : | string.swift:239:13:239:13 | tainted : | -| string.swift:212:17:212:25 | call to source2() : | string.swift:241:13:241:13 | tainted : | -| string.swift:212:17:212:25 | call to source2() : | string.swift:242:13:242:13 | tainted : | -| string.swift:212:17:212:25 | call to source2() : | string.swift:245:13:245:13 | tainted : | -| string.swift:212:17:212:25 | call to source2() : | string.swift:246:13:246:13 | tainted : | -| string.swift:212:17:212:25 | call to source2() : | string.swift:247:13:247:13 | tainted : | -| string.swift:212:17:212:25 | call to source2() : | string.swift:248:13:248:13 | tainted : | -| string.swift:212:17:212:25 | call to source2() : | string.swift:249:13:249:13 | tainted : | -| string.swift:212:17:212:25 | call to source2() : | string.swift:250:13:250:13 | tainted : | -| string.swift:212:17:212:25 | call to source2() : | string.swift:251:13:251:13 | tainted : | -| string.swift:212:17:212:25 | call to source2() : | string.swift:258:13:258:13 | tainted : | -| string.swift:212:17:212:25 | call to source2() : | string.swift:270:13:270:21 | .description | -| string.swift:212:17:212:25 | call to source2() : | string.swift:272:13:272:21 | .debugDescription | -| string.swift:212:17:212:25 | call to source2() : | string.swift:274:13:274:21 | .utf8 | -| string.swift:212:17:212:25 | call to source2() : | string.swift:276:13:276:21 | .utf16 | -| string.swift:212:17:212:25 | call to source2() : | string.swift:278:13:278:21 | .unicodeScalars | -| string.swift:212:17:212:25 | call to source2() : | string.swift:280:13:280:21 | .utf8CString | -| string.swift:212:17:212:25 | call to source2() : | string.swift:282:13:282:21 | .lazy | -| string.swift:212:17:212:25 | call to source2() : | string.swift:284:13:284:21 | .capitalized | -| string.swift:212:17:212:25 | call to source2() : | string.swift:286:13:286:21 | .localizedCapitalized | -| string.swift:212:17:212:25 | call to source2() : | string.swift:288:13:288:21 | .localizedLowercase | -| string.swift:212:17:212:25 | call to source2() : | string.swift:290:13:290:21 | .localizedUppercase | -| string.swift:212:17:212:25 | call to source2() : | string.swift:292:13:292:21 | .decomposedStringWithCanonicalMapping | -| string.swift:212:17:212:25 | call to source2() : | string.swift:294:13:294:21 | .precomposedStringWithCompatibilityMapping | -| string.swift:212:17:212:25 | call to source2() : | string.swift:296:13:296:44 | ...! | -| string.swift:213:20:213:27 | call to source() : | string.swift:217:20:217:20 | taintedInt : | -| string.swift:216:20:216:20 | tainted : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | -| string.swift:216:20:216:20 | tainted : | string.swift:216:13:216:27 | call to String.init(_:) | -| string.swift:217:20:217:20 | taintedInt : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | -| string.swift:217:20:217:20 | taintedInt : | string.swift:217:13:217:30 | call to String.init(_:) | -| string.swift:219:28:219:28 | tainted : | string.swift:64:3:64:63 | [summary param] 0 in String.init(format:_:) : | -| string.swift:219:28:219:28 | tainted : | string.swift:219:13:219:44 | call to String.init(format:_:) | -| string.swift:220:28:220:28 | tainted : | string.swift:65:3:65:60 | [summary param] 0 in String.init(format:arguments:) : | -| string.swift:220:28:220:28 | tainted : | string.swift:220:13:220:50 | call to String.init(format:arguments:) | -| string.swift:221:28:221:28 | tainted : | string.swift:66:3:66:75 | [summary param] 0 in String.init(format:locale:_:) : | -| string.swift:221:28:221:28 | tainted : | string.swift:221:13:221:57 | call to String.init(format:locale:_:) | -| string.swift:222:28:222:28 | tainted : | string.swift:67:3:67:77 | [summary param] 0 in String.init(format:locale:arguments:) : | -| string.swift:222:28:222:28 | tainted : | string.swift:222:13:222:63 | call to String.init(format:locale:arguments:) | -| string.swift:223:46:223:46 | tainted : | string.swift:69:3:69:106 | [summary param] 0 in localizedStringWithFormat(_:_:) : | -| string.swift:223:46:223:46 | tainted : | string.swift:223:13:223:62 | call to localizedStringWithFormat(_:_:) | -| string.swift:228:31:228:31 | tainted : | file://:0:0:0:0 | [summary param] 0 in String.init(repeating:count:) : | -| string.swift:228:31:228:31 | tainted : | string.swift:228:13:228:48 | call to String.init(repeating:count:) | -| string.swift:230:13:230:13 | tainted : | file://:0:0:0:0 | [summary param] this in dropFirst(_:) : | -| string.swift:230:13:230:13 | tainted : | string.swift:230:13:230:33 | call to dropFirst(_:) | -| string.swift:231:13:231:13 | tainted : | file://:0:0:0:0 | [summary param] this in dropLast(_:) : | -| string.swift:231:13:231:13 | tainted : | string.swift:231:13:231:32 | call to dropLast(_:) | -| string.swift:232:13:232:13 | tainted : | string.swift:101:3:101:64 | [summary param] this in substring(from:) : | -| string.swift:232:13:232:13 | tainted : | string.swift:232:13:232:55 | call to substring(from:) | -| string.swift:234:13:234:13 | tainted : | file://:0:0:0:0 | [summary param] this in lowercased() : | -| string.swift:234:13:234:13 | tainted : | string.swift:234:13:234:32 | call to lowercased() | -| string.swift:235:13:235:13 | tainted : | file://:0:0:0:0 | [summary param] this in uppercased() : | -| string.swift:235:13:235:13 | tainted : | string.swift:235:13:235:32 | call to uppercased() | -| string.swift:236:13:236:13 | tainted : | string.swift:98:3:98:63 | [summary param] this in lowercased(with:) : | -| string.swift:236:13:236:13 | tainted : | string.swift:236:13:236:41 | call to lowercased(with:) | -| string.swift:237:13:237:13 | tainted : | string.swift:99:3:99:63 | [summary param] this in uppercased(with:) : | -| string.swift:237:13:237:13 | tainted : | string.swift:237:13:237:41 | call to uppercased(with:) | -| string.swift:238:13:238:13 | tainted : | string.swift:100:3:100:64 | [summary param] this in capitalized(with:) : | -| string.swift:238:13:238:13 | tainted : | string.swift:238:13:238:42 | call to capitalized(with:) | -| string.swift:239:13:239:13 | tainted : | file://:0:0:0:0 | [summary param] this in reversed() : | -| string.swift:239:13:239:13 | tainted : | string.swift:239:13:239:30 | call to reversed() | -| string.swift:241:13:241:13 | tainted : | file://:0:0:0:0 | [summary param] this in split(separator:maxSplits:omittingEmptySubsequences:) : | -| string.swift:241:13:241:13 | tainted : | string.swift:241:13:241:41 | call to split(separator:maxSplits:omittingEmptySubsequences:) | -| string.swift:242:13:242:13 | tainted : | file://:0:0:0:0 | [summary param] this in split(maxSplits:omittingEmptySubsequences:whereSeparator:) : | -| string.swift:242:13:242:13 | tainted : | string.swift:242:13:244:4 | call to split(maxSplits:omittingEmptySubsequences:whereSeparator:) | -| string.swift:245:13:245:13 | tainted : | string.swift:102:3:102:71 | [summary param] this in trimmingCharacters(in:) : | -| string.swift:245:13:245:13 | tainted : | string.swift:245:13:245:68 | call to trimmingCharacters(in:) | -| string.swift:246:13:246:13 | tainted : | string.swift:104:3:104:138 | [summary param] this in padding(toLength:withPad:startingAt:) : | -| string.swift:246:13:246:13 | tainted : | string.swift:246:13:246:70 | call to padding(toLength:withPad:startingAt:) | -| string.swift:247:13:247:13 | tainted : | string.swift:105:3:105:80 | [summary param] this in components(separatedBy:) : | -| string.swift:247:13:247:13 | tainted : | string.swift:247:13:247:69 | call to components(separatedBy:) | -| string.swift:248:13:248:13 | tainted : | string.swift:105:3:105:80 | [summary param] this in components(separatedBy:) : | -| string.swift:248:13:248:13 | tainted : | string.swift:248:13:248:69 | call to components(separatedBy:) : | -| string.swift:248:13:248:69 | call to components(separatedBy:) : | string.swift:248:13:248:72 | ...[...] | -| string.swift:249:13:249:13 | tainted : | string.swift:106:3:106:92 | [summary param] this in folding(options:locale:) : | -| string.swift:249:13:249:13 | tainted : | string.swift:249:13:249:40 | call to folding(options:locale:) | -| string.swift:250:13:250:13 | tainted : | string.swift:107:3:107:78 | [summary param] this in propertyListFromStringsFileFormat() : | -| string.swift:250:13:250:13 | tainted : | string.swift:250:13:250:55 | call to propertyListFromStringsFileFormat() | -| string.swift:251:13:251:13 | tainted : | string.swift:107:3:107:78 | [summary param] this in propertyListFromStringsFileFormat() : | -| string.swift:251:13:251:13 | tainted : | string.swift:251:13:251:55 | call to propertyListFromStringsFileFormat() : | -| string.swift:251:13:251:55 | call to propertyListFromStringsFileFormat() : | string.swift:251:13:251:63 | ...! | -| string.swift:258:13:258:13 | [post] tainted : | string.swift:270:13:270:21 | .description | -| string.swift:258:13:258:13 | [post] tainted : | string.swift:272:13:272:21 | .debugDescription | -| string.swift:258:13:258:13 | [post] tainted : | string.swift:274:13:274:21 | .utf8 | -| string.swift:258:13:258:13 | [post] tainted : | string.swift:276:13:276:21 | .utf16 | -| string.swift:258:13:258:13 | [post] tainted : | string.swift:278:13:278:21 | .unicodeScalars | -| string.swift:258:13:258:13 | [post] tainted : | string.swift:280:13:280:21 | .utf8CString | -| string.swift:258:13:258:13 | [post] tainted : | string.swift:282:13:282:21 | .lazy | -| string.swift:258:13:258:13 | [post] tainted : | string.swift:284:13:284:21 | .capitalized | -| string.swift:258:13:258:13 | [post] tainted : | string.swift:286:13:286:21 | .localizedCapitalized | -| string.swift:258:13:258:13 | [post] tainted : | string.swift:288:13:288:21 | .localizedLowercase | -| string.swift:258:13:258:13 | [post] tainted : | string.swift:290:13:290:21 | .localizedUppercase | -| string.swift:258:13:258:13 | [post] tainted : | string.swift:292:13:292:21 | .decomposedStringWithCanonicalMapping | -| string.swift:258:13:258:13 | [post] tainted : | string.swift:294:13:294:21 | .precomposedStringWithCompatibilityMapping | -| string.swift:258:13:258:13 | [post] tainted : | string.swift:296:13:296:44 | ...! | -| string.swift:258:13:258:13 | tainted : | string.swift:109:8:109:8 | self : | -| string.swift:258:13:258:13 | tainted : | string.swift:258:13:258:13 | [post] tainted : | -| string.swift:300:14:300:22 | call to source2() : | string.swift:301:13:301:13 | str1 | -| string.swift:300:14:300:22 | call to source2() : | string.swift:302:13:302:13 | &... : | -| string.swift:300:14:300:22 | call to source2() : | string.swift:303:13:303:13 | str1 | -| string.swift:302:13:302:13 | &... : | file://:0:0:0:0 | [summary param] this in remove(at:) : | -| string.swift:302:13:302:13 | &... : | string.swift:302:13:302:44 | call to remove(at:) | -| string.swift:305:14:305:22 | call to source2() : | string.swift:306:13:306:13 | str2 | -| string.swift:305:14:305:22 | call to source2() : | string.swift:308:13:308:13 | str2 | -| string.swift:310:14:310:22 | call to source2() : | string.swift:311:13:311:13 | str3 | -| string.swift:310:14:310:22 | call to source2() : | string.swift:313:13:313:13 | str3 | -| string.swift:315:14:315:22 | call to source2() : | string.swift:316:13:316:13 | str4 | -| string.swift:315:14:315:22 | call to source2() : | string.swift:317:13:317:13 | &... : | -| string.swift:315:14:315:22 | call to source2() : | string.swift:318:13:318:13 | str4 | -| string.swift:315:14:315:22 | call to source2() : | string.swift:320:13:320:13 | str4 | -| string.swift:315:14:315:22 | call to source2() : | string.swift:321:13:321:13 | &... : | -| string.swift:315:14:315:22 | call to source2() : | string.swift:322:13:322:13 | str4 | -| string.swift:315:14:315:22 | call to source2() : | string.swift:324:13:324:13 | str4 | -| string.swift:317:13:317:13 | &... : | file://:0:0:0:0 | [summary param] this in removeFirst() : | -| string.swift:317:13:317:13 | &... : | string.swift:317:13:317:30 | call to removeFirst() | -| string.swift:321:13:321:13 | &... : | file://:0:0:0:0 | [summary param] this in removeLast() : | -| string.swift:321:13:321:13 | &... : | string.swift:321:13:321:29 | call to removeLast() | -| string.swift:326:14:326:22 | call to source2() : | string.swift:327:13:327:13 | str5 | -| string.swift:326:14:326:22 | call to source2() : | string.swift:329:13:329:13 | str5 | -| string.swift:331:14:331:22 | call to source2() : | string.swift:332:13:332:13 | str6 | -| string.swift:331:14:331:22 | call to source2() : | string.swift:334:13:334:13 | str6 | -| string.swift:341:23:341:77 | call to String.init(data:encoding:) : | string.swift:344:12:344:25 | ...! | -| string.swift:341:36:341:44 | call to source3() : | string.swift:60:2:60:54 | [summary param] 0 in String.init(data:encoding:) : | -| string.swift:341:36:341:44 | call to source3() : | string.swift:341:23:341:77 | call to String.init(data:encoding:) : | -| string.swift:347:30:347:38 | call to source3() : | file://:0:0:0:0 | [summary param] 0 in String.init(decoding:as:) : | -| string.swift:347:30:347:38 | call to source3() : | string.swift:347:13:347:54 | call to String.init(decoding:as:) | -| string.swift:352:17:352:25 | call to source2() : | string.swift:389:22:389:22 | tainted : | -| string.swift:389:22:389:22 | tainted : | string.swift:108:3:108:74 | [summary param] this in cString(using:) : | -| string.swift:389:22:389:22 | tainted : | string.swift:389:22:389:65 | call to cString(using:) : | -| string.swift:389:22:389:65 | call to cString(using:) : | string.swift:390:13:390:13 | arrayString2 | -| string.swift:436:28:436:36 | call to source4() : | string.swift:456:27:456:27 | taintedUInt8Values : | -| string.swift:436:28:436:36 | call to source4() : | string.swift:459:29:459:29 | taintedUInt8Values : | -| string.swift:456:13:456:77 | call to String.init(bytes:encoding:) : | string.swift:456:13:456:78 | ...! | -| string.swift:456:27:456:27 | taintedUInt8Values : | string.swift:71:3:71:102 | [summary param] 0 in String.init(bytes:encoding:) : | -| string.swift:456:27:456:27 | taintedUInt8Values : | string.swift:456:13:456:77 | call to String.init(bytes:encoding:) : | -| string.swift:459:29:459:29 | taintedUInt8Values : | file://:0:0:0:0 | [summary param] 0 in String.init(cString:) : | -| string.swift:459:29:459:29 | taintedUInt8Values : | string.swift:459:13:459:47 | call to String.init(cString:) | -| string.swift:492:37:492:45 | call to source5() : | string.swift:512:29:512:29 | taintedCCharValues : | -| string.swift:512:29:512:29 | taintedCCharValues : | file://:0:0:0:0 | [summary param] 0 in String.init(cString:) : | -| string.swift:512:29:512:29 | taintedCCharValues : | string.swift:512:13:512:47 | call to String.init(cString:) | -| string.swift:540:17:540:25 | call to source2() : | string.swift:545:13:545:13 | sub1 | -| string.swift:540:17:540:25 | call to source2() : | string.swift:546:20:546:20 | sub1 : | -| string.swift:540:17:540:25 | call to source2() : | string.swift:548:14:548:14 | tainted : | -| string.swift:540:17:540:25 | call to source2() : | string.swift:552:14:552:14 | tainted : | -| string.swift:540:17:540:25 | call to source2() : | string.swift:556:14:556:14 | tainted : | -| string.swift:540:17:540:25 | call to source2() : | string.swift:560:14:560:14 | tainted : | -| string.swift:540:17:540:25 | call to source2() : | string.swift:564:14:564:14 | tainted : | -| string.swift:546:20:546:20 | sub1 : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | -| string.swift:546:20:546:20 | sub1 : | string.swift:546:13:546:24 | call to String.init(_:) | -| string.swift:548:14:548:14 | tainted : | file://:0:0:0:0 | [summary param] this in prefix(_:) : | -| string.swift:548:14:548:14 | tainted : | string.swift:548:14:548:31 | call to prefix(_:) : | -| string.swift:548:14:548:31 | call to prefix(_:) : | string.swift:549:13:549:13 | sub2 | -| string.swift:548:14:548:31 | call to prefix(_:) : | string.swift:550:20:550:20 | sub2 : | -| string.swift:550:20:550:20 | sub2 : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | -| string.swift:550:20:550:20 | sub2 : | string.swift:550:13:550:24 | call to String.init(_:) | -| string.swift:552:14:552:14 | tainted : | file://:0:0:0:0 | [summary param] this in prefix(through:) : | -| string.swift:552:14:552:14 | tainted : | string.swift:552:14:552:54 | call to prefix(through:) : | -| string.swift:552:14:552:54 | call to prefix(through:) : | string.swift:553:13:553:13 | sub3 | -| string.swift:552:14:552:54 | call to prefix(through:) : | string.swift:554:20:554:20 | sub3 : | -| string.swift:554:20:554:20 | sub3 : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | -| string.swift:554:20:554:20 | sub3 : | string.swift:554:13:554:24 | call to String.init(_:) | -| string.swift:556:14:556:14 | tainted : | file://:0:0:0:0 | [summary param] this in prefix(upTo:) : | -| string.swift:556:14:556:14 | tainted : | string.swift:556:14:556:51 | call to prefix(upTo:) : | -| string.swift:556:14:556:51 | call to prefix(upTo:) : | string.swift:557:13:557:13 | sub4 | -| string.swift:556:14:556:51 | call to prefix(upTo:) : | string.swift:558:20:558:20 | sub4 : | -| string.swift:558:20:558:20 | sub4 : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | -| string.swift:558:20:558:20 | sub4 : | string.swift:558:13:558:24 | call to String.init(_:) | -| string.swift:560:14:560:14 | tainted : | file://:0:0:0:0 | [summary param] this in suffix(_:) : | -| string.swift:560:14:560:14 | tainted : | string.swift:560:14:560:31 | call to suffix(_:) : | -| string.swift:560:14:560:31 | call to suffix(_:) : | string.swift:561:13:561:13 | sub5 | -| string.swift:560:14:560:31 | call to suffix(_:) : | string.swift:562:20:562:20 | sub5 : | -| string.swift:562:20:562:20 | sub5 : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | -| string.swift:562:20:562:20 | sub5 : | string.swift:562:13:562:24 | call to String.init(_:) | -| string.swift:564:14:564:14 | tainted : | file://:0:0:0:0 | [summary param] this in suffix(from:) : | -| string.swift:564:14:564:14 | tainted : | string.swift:564:14:564:53 | call to suffix(from:) : | -| string.swift:564:14:564:53 | call to suffix(from:) : | string.swift:565:13:565:13 | sub6 | -| string.swift:564:14:564:53 | call to suffix(from:) : | string.swift:566:20:566:20 | sub6 : | -| string.swift:566:20:566:20 | sub6 : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | -| string.swift:566:20:566:20 | sub6 : | string.swift:566:13:566:24 | call to String.init(_:) | -| string.swift:622:20:622:27 | call to source() : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | -| string.swift:622:20:622:27 | call to source() : | string.swift:622:13:622:28 | call to String.init(_:) | -| string.swift:626:32:626:39 | call to source() : | file://:0:0:0:0 | [summary param] 0 in String.init(describing:) : | -| string.swift:626:32:626:39 | call to source() : | string.swift:626:13:626:40 | call to String.init(describing:) | +| string.swift:86:12:87:51 | [summary param] 1 in replaceSubrange(_:with:) : | file://:0:0:0:0 | [summary] to write: argument this in replaceSubrange(_:with:) : | +| string.swift:101:3:101:63 | [summary param] this in lowercased(with:) : | file://:0:0:0:0 | [summary] to write: return (return) in lowercased(with:) : | +| string.swift:102:3:102:63 | [summary param] this in uppercased(with:) : | file://:0:0:0:0 | [summary] to write: return (return) in uppercased(with:) : | +| string.swift:103:3:103:64 | [summary param] this in capitalized(with:) : | file://:0:0:0:0 | [summary] to write: return (return) in capitalized(with:) : | +| string.swift:104:3:104:64 | [summary param] this in substring(from:) : | file://:0:0:0:0 | [summary] to write: return (return) in substring(from:) : | +| string.swift:105:3:105:71 | [summary param] this in trimmingCharacters(in:) : | file://:0:0:0:0 | [summary] to write: return (return) in trimmingCharacters(in:) : | +| string.swift:106:3:106:82 | [summary param] 0 in appending(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in appending(_:) : | +| string.swift:106:3:106:82 | [summary param] this in appending(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in appending(_:) : | +| string.swift:107:3:107:138 | [summary param] this in padding(toLength:withPad:startingAt:) : | file://:0:0:0:0 | [summary] to write: return (return) in padding(toLength:withPad:startingAt:) : | +| string.swift:108:3:108:80 | [summary param] this in components(separatedBy:) : | file://:0:0:0:0 | [summary] to write: return (return) in components(separatedBy:) : | +| string.swift:109:3:109:92 | [summary param] this in folding(options:locale:) : | file://:0:0:0:0 | [summary] to write: return (return) in folding(options:locale:) : | +| string.swift:110:3:110:78 | [summary param] this in propertyListFromStringsFileFormat() : | file://:0:0:0:0 | [summary] to write: return (return) in propertyListFromStringsFileFormat() : | +| string.swift:111:3:111:74 | [summary param] this in cString(using:) : | file://:0:0:0:0 | [summary] to write: return (return) in cString(using:) : | +| string.swift:112:8:112:8 | self : | string.swift:112:3:112:79 | self[return] : | +| string.swift:113:3:114:77 | [summary param] 1 in replacingOccurrences(of:with:options:range:) : | file://:0:0:0:0 | [summary] to write: return (return) in replacingOccurrences(of:with:options:range:) : | +| string.swift:113:3:114:77 | [summary param] this in replacingOccurrences(of:with:options:range:) : | file://:0:0:0:0 | [summary] to write: return (return) in replacingOccurrences(of:with:options:range:) : | +| string.swift:137:11:137:18 | call to source() : | string.swift:139:13:139:13 | "..." | +| string.swift:137:11:137:18 | call to source() : | string.swift:141:13:141:13 | "..." | +| string.swift:137:11:137:18 | call to source() : | string.swift:143:13:143:13 | "..." | +| string.swift:137:11:137:18 | call to source() : | string.swift:149:13:149:13 | "..." | +| string.swift:137:11:137:18 | call to source() : | string.swift:151:13:151:13 | "..." | +| string.swift:161:17:161:25 | call to source2() : | string.swift:164:13:164:13 | tainted | +| string.swift:161:17:161:25 | call to source2() : | string.swift:167:13:167:21 | ... .+(_:_:) ... | +| string.swift:161:17:161:25 | call to source2() : | string.swift:168:13:168:23 | ... .+(_:_:) ... | +| string.swift:161:17:161:25 | call to source2() : | string.swift:169:13:169:23 | ... .+(_:_:) ... | +| string.swift:161:17:161:25 | call to source2() : | string.swift:172:13:172:29 | ... .+(_:_:) ... | +| string.swift:161:17:161:25 | call to source2() : | string.swift:175:29:175:29 | tainted : | +| string.swift:161:17:161:25 | call to source2() : | string.swift:176:13:176:13 | tainted : | +| string.swift:161:17:161:25 | call to source2() : | string.swift:177:13:177:13 | tainted : | +| string.swift:161:17:161:25 | call to source2() : | string.swift:177:31:177:31 | tainted : | +| string.swift:175:29:175:29 | tainted : | string.swift:106:3:106:82 | [summary param] 0 in appending(_:) : | +| string.swift:175:29:175:29 | tainted : | string.swift:175:13:175:36 | call to appending(_:) | +| string.swift:176:13:176:13 | tainted : | string.swift:106:3:106:82 | [summary param] this in appending(_:) : | +| string.swift:176:13:176:13 | tainted : | string.swift:176:13:176:36 | call to appending(_:) | +| string.swift:177:13:177:13 | tainted : | string.swift:106:3:106:82 | [summary param] this in appending(_:) : | +| string.swift:177:13:177:13 | tainted : | string.swift:177:13:177:38 | call to appending(_:) | +| string.swift:177:31:177:31 | tainted : | string.swift:106:3:106:82 | [summary param] 0 in appending(_:) : | +| string.swift:177:31:177:31 | tainted : | string.swift:177:13:177:38 | call to appending(_:) | +| string.swift:190:3:190:3 | [post] &... : | string.swift:191:13:191:13 | str2 | +| string.swift:190:15:190:23 | call to source2() : | file://:0:0:0:0 | [summary param] 0 in append(_:) : | +| string.swift:190:15:190:23 | call to source2() : | string.swift:190:3:190:3 | [post] &... : | +| string.swift:197:3:197:3 | [post] &... : | string.swift:198:13:198:13 | str3 | +| string.swift:197:27:197:35 | call to source2() : | file://:0:0:0:0 | [summary param] 0 in append(contentsOf:) : | +| string.swift:197:27:197:35 | call to source2() : | string.swift:197:3:197:3 | [post] &... : | +| string.swift:204:3:204:3 | [post] &... : | string.swift:205:13:205:13 | str4 | +| string.swift:204:14:204:22 | call to source2() : | file://:0:0:0:0 | [summary param] 0 in write(_:) : | +| string.swift:204:14:204:22 | call to source2() : | string.swift:204:3:204:3 | [post] &... : | +| string.swift:211:3:211:3 | [post] &... : | string.swift:212:13:212:13 | str5 | +| string.swift:211:27:211:35 | call to source2() : | file://:0:0:0:0 | [summary param] 0 in insert(contentsOf:at:) : | +| string.swift:211:27:211:35 | call to source2() : | string.swift:211:3:211:3 | [post] &... : | +| string.swift:217:17:217:25 | call to source2() : | string.swift:221:20:221:20 | tainted : | +| string.swift:217:17:217:25 | call to source2() : | string.swift:224:28:224:28 | tainted : | +| string.swift:217:17:217:25 | call to source2() : | string.swift:225:28:225:28 | tainted : | +| string.swift:217:17:217:25 | call to source2() : | string.swift:226:28:226:28 | tainted : | +| string.swift:217:17:217:25 | call to source2() : | string.swift:227:28:227:28 | tainted : | +| string.swift:217:17:217:25 | call to source2() : | string.swift:228:46:228:46 | tainted : | +| string.swift:217:17:217:25 | call to source2() : | string.swift:233:31:233:31 | tainted : | +| string.swift:217:17:217:25 | call to source2() : | string.swift:235:13:235:13 | tainted : | +| string.swift:217:17:217:25 | call to source2() : | string.swift:236:13:236:13 | tainted : | +| string.swift:217:17:217:25 | call to source2() : | string.swift:237:13:237:13 | tainted : | +| string.swift:217:17:217:25 | call to source2() : | string.swift:239:13:239:13 | tainted : | +| string.swift:217:17:217:25 | call to source2() : | string.swift:240:13:240:13 | tainted : | +| string.swift:217:17:217:25 | call to source2() : | string.swift:241:13:241:13 | tainted : | +| string.swift:217:17:217:25 | call to source2() : | string.swift:242:13:242:13 | tainted : | +| string.swift:217:17:217:25 | call to source2() : | string.swift:243:13:243:13 | tainted : | +| string.swift:217:17:217:25 | call to source2() : | string.swift:244:13:244:13 | tainted : | +| string.swift:217:17:217:25 | call to source2() : | string.swift:246:13:246:13 | tainted : | +| string.swift:217:17:217:25 | call to source2() : | string.swift:247:13:247:13 | tainted : | +| string.swift:217:17:217:25 | call to source2() : | string.swift:250:13:250:13 | tainted : | +| string.swift:217:17:217:25 | call to source2() : | string.swift:251:13:251:13 | tainted : | +| string.swift:217:17:217:25 | call to source2() : | string.swift:252:13:252:13 | tainted : | +| string.swift:217:17:217:25 | call to source2() : | string.swift:253:13:253:13 | tainted : | +| string.swift:217:17:217:25 | call to source2() : | string.swift:254:13:254:13 | tainted : | +| string.swift:217:17:217:25 | call to source2() : | string.swift:255:13:255:13 | tainted : | +| string.swift:217:17:217:25 | call to source2() : | string.swift:256:13:256:13 | tainted : | +| string.swift:217:17:217:25 | call to source2() : | string.swift:263:13:263:13 | tainted : | +| string.swift:217:17:217:25 | call to source2() : | string.swift:275:13:275:21 | .description | +| string.swift:217:17:217:25 | call to source2() : | string.swift:277:13:277:21 | .debugDescription | +| string.swift:217:17:217:25 | call to source2() : | string.swift:279:13:279:21 | .utf8 | +| string.swift:217:17:217:25 | call to source2() : | string.swift:281:13:281:21 | .utf16 | +| string.swift:217:17:217:25 | call to source2() : | string.swift:283:13:283:21 | .unicodeScalars | +| string.swift:217:17:217:25 | call to source2() : | string.swift:285:13:285:21 | .utf8CString | +| string.swift:217:17:217:25 | call to source2() : | string.swift:287:13:287:21 | .lazy | +| string.swift:217:17:217:25 | call to source2() : | string.swift:289:13:289:21 | .capitalized | +| string.swift:217:17:217:25 | call to source2() : | string.swift:291:13:291:21 | .localizedCapitalized | +| string.swift:217:17:217:25 | call to source2() : | string.swift:293:13:293:21 | .localizedLowercase | +| string.swift:217:17:217:25 | call to source2() : | string.swift:295:13:295:21 | .localizedUppercase | +| string.swift:217:17:217:25 | call to source2() : | string.swift:297:13:297:21 | .decomposedStringWithCanonicalMapping | +| string.swift:217:17:217:25 | call to source2() : | string.swift:299:13:299:21 | .precomposedStringWithCompatibilityMapping | +| string.swift:217:17:217:25 | call to source2() : | string.swift:301:13:301:44 | ...! | +| string.swift:217:17:217:25 | call to source2() : | string.swift:304:13:304:13 | tainted : | +| string.swift:218:20:218:27 | call to source() : | string.swift:222:20:222:20 | taintedInt : | +| string.swift:221:20:221:20 | tainted : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | +| string.swift:221:20:221:20 | tainted : | string.swift:221:13:221:27 | call to String.init(_:) | +| string.swift:222:20:222:20 | taintedInt : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | +| string.swift:222:20:222:20 | taintedInt : | string.swift:222:13:222:30 | call to String.init(_:) | +| string.swift:224:28:224:28 | tainted : | string.swift:64:3:64:63 | [summary param] 0 in String.init(format:_:) : | +| string.swift:224:28:224:28 | tainted : | string.swift:224:13:224:44 | call to String.init(format:_:) | +| string.swift:225:28:225:28 | tainted : | string.swift:65:3:65:60 | [summary param] 0 in String.init(format:arguments:) : | +| string.swift:225:28:225:28 | tainted : | string.swift:225:13:225:50 | call to String.init(format:arguments:) | +| string.swift:226:28:226:28 | tainted : | string.swift:66:3:66:75 | [summary param] 0 in String.init(format:locale:_:) : | +| string.swift:226:28:226:28 | tainted : | string.swift:226:13:226:57 | call to String.init(format:locale:_:) | +| string.swift:227:28:227:28 | tainted : | string.swift:67:3:67:77 | [summary param] 0 in String.init(format:locale:arguments:) : | +| string.swift:227:28:227:28 | tainted : | string.swift:227:13:227:63 | call to String.init(format:locale:arguments:) | +| string.swift:228:46:228:46 | tainted : | string.swift:69:3:69:106 | [summary param] 0 in localizedStringWithFormat(_:_:) : | +| string.swift:228:46:228:46 | tainted : | string.swift:228:13:228:62 | call to localizedStringWithFormat(_:_:) | +| string.swift:233:31:233:31 | tainted : | file://:0:0:0:0 | [summary param] 0 in String.init(repeating:count:) : | +| string.swift:233:31:233:31 | tainted : | string.swift:233:13:233:48 | call to String.init(repeating:count:) | +| string.swift:235:13:235:13 | tainted : | file://:0:0:0:0 | [summary param] this in dropFirst(_:) : | +| string.swift:235:13:235:13 | tainted : | string.swift:235:13:235:33 | call to dropFirst(_:) | +| string.swift:236:13:236:13 | tainted : | file://:0:0:0:0 | [summary param] this in dropLast(_:) : | +| string.swift:236:13:236:13 | tainted : | string.swift:236:13:236:32 | call to dropLast(_:) | +| string.swift:237:13:237:13 | tainted : | string.swift:104:3:104:64 | [summary param] this in substring(from:) : | +| string.swift:237:13:237:13 | tainted : | string.swift:237:13:237:55 | call to substring(from:) | +| string.swift:239:13:239:13 | tainted : | file://:0:0:0:0 | [summary param] this in lowercased() : | +| string.swift:239:13:239:13 | tainted : | string.swift:239:13:239:32 | call to lowercased() | +| string.swift:240:13:240:13 | tainted : | file://:0:0:0:0 | [summary param] this in uppercased() : | +| string.swift:240:13:240:13 | tainted : | string.swift:240:13:240:32 | call to uppercased() | +| string.swift:241:13:241:13 | tainted : | string.swift:101:3:101:63 | [summary param] this in lowercased(with:) : | +| string.swift:241:13:241:13 | tainted : | string.swift:241:13:241:41 | call to lowercased(with:) | +| string.swift:242:13:242:13 | tainted : | string.swift:102:3:102:63 | [summary param] this in uppercased(with:) : | +| string.swift:242:13:242:13 | tainted : | string.swift:242:13:242:41 | call to uppercased(with:) | +| string.swift:243:13:243:13 | tainted : | string.swift:103:3:103:64 | [summary param] this in capitalized(with:) : | +| string.swift:243:13:243:13 | tainted : | string.swift:243:13:243:42 | call to capitalized(with:) | +| string.swift:244:13:244:13 | tainted : | file://:0:0:0:0 | [summary param] this in reversed() : | +| string.swift:244:13:244:13 | tainted : | string.swift:244:13:244:30 | call to reversed() | +| string.swift:246:13:246:13 | tainted : | file://:0:0:0:0 | [summary param] this in split(separator:maxSplits:omittingEmptySubsequences:) : | +| string.swift:246:13:246:13 | tainted : | string.swift:246:13:246:41 | call to split(separator:maxSplits:omittingEmptySubsequences:) | +| string.swift:247:13:247:13 | tainted : | file://:0:0:0:0 | [summary param] this in split(maxSplits:omittingEmptySubsequences:whereSeparator:) : | +| string.swift:247:13:247:13 | tainted : | string.swift:247:13:249:4 | call to split(maxSplits:omittingEmptySubsequences:whereSeparator:) | +| string.swift:250:13:250:13 | tainted : | string.swift:105:3:105:71 | [summary param] this in trimmingCharacters(in:) : | +| string.swift:250:13:250:13 | tainted : | string.swift:250:13:250:68 | call to trimmingCharacters(in:) | +| string.swift:251:13:251:13 | tainted : | string.swift:107:3:107:138 | [summary param] this in padding(toLength:withPad:startingAt:) : | +| string.swift:251:13:251:13 | tainted : | string.swift:251:13:251:70 | call to padding(toLength:withPad:startingAt:) | +| string.swift:252:13:252:13 | tainted : | string.swift:108:3:108:80 | [summary param] this in components(separatedBy:) : | +| string.swift:252:13:252:13 | tainted : | string.swift:252:13:252:69 | call to components(separatedBy:) | +| string.swift:253:13:253:13 | tainted : | string.swift:108:3:108:80 | [summary param] this in components(separatedBy:) : | +| string.swift:253:13:253:13 | tainted : | string.swift:253:13:253:69 | call to components(separatedBy:) : | +| string.swift:253:13:253:69 | call to components(separatedBy:) : | string.swift:253:13:253:72 | ...[...] | +| string.swift:254:13:254:13 | tainted : | string.swift:109:3:109:92 | [summary param] this in folding(options:locale:) : | +| string.swift:254:13:254:13 | tainted : | string.swift:254:13:254:40 | call to folding(options:locale:) | +| string.swift:255:13:255:13 | tainted : | string.swift:110:3:110:78 | [summary param] this in propertyListFromStringsFileFormat() : | +| string.swift:255:13:255:13 | tainted : | string.swift:255:13:255:55 | call to propertyListFromStringsFileFormat() | +| string.swift:256:13:256:13 | tainted : | string.swift:110:3:110:78 | [summary param] this in propertyListFromStringsFileFormat() : | +| string.swift:256:13:256:13 | tainted : | string.swift:256:13:256:55 | call to propertyListFromStringsFileFormat() : | +| string.swift:256:13:256:55 | call to propertyListFromStringsFileFormat() : | string.swift:256:13:256:63 | ...! | +| string.swift:263:13:263:13 | [post] tainted : | string.swift:275:13:275:21 | .description | +| string.swift:263:13:263:13 | [post] tainted : | string.swift:277:13:277:21 | .debugDescription | +| string.swift:263:13:263:13 | [post] tainted : | string.swift:279:13:279:21 | .utf8 | +| string.swift:263:13:263:13 | [post] tainted : | string.swift:281:13:281:21 | .utf16 | +| string.swift:263:13:263:13 | [post] tainted : | string.swift:283:13:283:21 | .unicodeScalars | +| string.swift:263:13:263:13 | [post] tainted : | string.swift:285:13:285:21 | .utf8CString | +| string.swift:263:13:263:13 | [post] tainted : | string.swift:287:13:287:21 | .lazy | +| string.swift:263:13:263:13 | [post] tainted : | string.swift:289:13:289:21 | .capitalized | +| string.swift:263:13:263:13 | [post] tainted : | string.swift:291:13:291:21 | .localizedCapitalized | +| string.swift:263:13:263:13 | [post] tainted : | string.swift:293:13:293:21 | .localizedLowercase | +| string.swift:263:13:263:13 | [post] tainted : | string.swift:295:13:295:21 | .localizedUppercase | +| string.swift:263:13:263:13 | [post] tainted : | string.swift:297:13:297:21 | .decomposedStringWithCanonicalMapping | +| string.swift:263:13:263:13 | [post] tainted : | string.swift:299:13:299:21 | .precomposedStringWithCompatibilityMapping | +| string.swift:263:13:263:13 | [post] tainted : | string.swift:301:13:301:44 | ...! | +| string.swift:263:13:263:13 | [post] tainted : | string.swift:304:13:304:13 | tainted : | +| string.swift:263:13:263:13 | tainted : | string.swift:112:8:112:8 | self : | +| string.swift:263:13:263:13 | tainted : | string.swift:263:13:263:13 | [post] tainted : | +| string.swift:304:13:304:13 | tainted : | string.swift:113:3:114:77 | [summary param] this in replacingOccurrences(of:with:options:range:) : | +| string.swift:304:13:304:13 | tainted : | string.swift:304:13:304:60 | call to replacingOccurrences(of:with:options:range:) | +| string.swift:305:55:305:63 | call to source2() : | string.swift:113:3:114:77 | [summary param] 1 in replacingOccurrences(of:with:options:range:) : | +| string.swift:305:55:305:63 | call to source2() : | string.swift:305:13:305:64 | call to replacingOccurrences(of:with:options:range:) | +| string.swift:309:14:309:22 | call to source2() : | string.swift:310:13:310:13 | str1 | +| string.swift:309:14:309:22 | call to source2() : | string.swift:311:13:311:13 | &... : | +| string.swift:309:14:309:22 | call to source2() : | string.swift:312:13:312:13 | str1 | +| string.swift:311:13:311:13 | &... : | file://:0:0:0:0 | [summary param] this in remove(at:) : | +| string.swift:311:13:311:13 | &... : | string.swift:311:13:311:44 | call to remove(at:) | +| string.swift:314:14:314:22 | call to source2() : | string.swift:315:13:315:13 | str2 | +| string.swift:314:14:314:22 | call to source2() : | string.swift:317:13:317:13 | str2 | +| string.swift:319:14:319:22 | call to source2() : | string.swift:320:13:320:13 | str3 | +| string.swift:319:14:319:22 | call to source2() : | string.swift:322:13:322:13 | str3 | +| string.swift:324:14:324:22 | call to source2() : | string.swift:325:13:325:13 | str4 | +| string.swift:324:14:324:22 | call to source2() : | string.swift:326:13:326:13 | &... : | +| string.swift:324:14:324:22 | call to source2() : | string.swift:327:13:327:13 | str4 | +| string.swift:324:14:324:22 | call to source2() : | string.swift:329:13:329:13 | str4 | +| string.swift:324:14:324:22 | call to source2() : | string.swift:330:13:330:13 | &... : | +| string.swift:324:14:324:22 | call to source2() : | string.swift:331:13:331:13 | str4 | +| string.swift:324:14:324:22 | call to source2() : | string.swift:333:13:333:13 | str4 | +| string.swift:326:13:326:13 | &... : | file://:0:0:0:0 | [summary param] this in removeFirst() : | +| string.swift:326:13:326:13 | &... : | string.swift:326:13:326:30 | call to removeFirst() | +| string.swift:330:13:330:13 | &... : | file://:0:0:0:0 | [summary param] this in removeLast() : | +| string.swift:330:13:330:13 | &... : | string.swift:330:13:330:29 | call to removeLast() | +| string.swift:335:14:335:22 | call to source2() : | string.swift:336:13:336:13 | str5 | +| string.swift:335:14:335:22 | call to source2() : | string.swift:338:13:338:13 | str5 | +| string.swift:340:14:340:22 | call to source2() : | string.swift:341:13:341:13 | str6 | +| string.swift:340:14:340:22 | call to source2() : | string.swift:343:13:343:13 | str6 | +| string.swift:347:3:347:3 | [post] &... : | string.swift:348:13:348:13 | str7 | +| string.swift:347:62:347:70 | call to source2() : | string.swift:86:12:87:51 | [summary param] 1 in replaceSubrange(_:with:) : | +| string.swift:347:62:347:70 | call to source2() : | string.swift:347:3:347:3 | [post] &... : | +| string.swift:355:23:355:77 | call to String.init(data:encoding:) : | string.swift:358:12:358:25 | ...! | +| string.swift:355:36:355:44 | call to source3() : | string.swift:60:2:60:54 | [summary param] 0 in String.init(data:encoding:) : | +| string.swift:355:36:355:44 | call to source3() : | string.swift:355:23:355:77 | call to String.init(data:encoding:) : | +| string.swift:361:30:361:38 | call to source3() : | file://:0:0:0:0 | [summary param] 0 in String.init(decoding:as:) : | +| string.swift:361:30:361:38 | call to source3() : | string.swift:361:13:361:54 | call to String.init(decoding:as:) | +| string.swift:366:17:366:25 | call to source2() : | string.swift:403:22:403:22 | tainted : | +| string.swift:403:22:403:22 | tainted : | string.swift:111:3:111:74 | [summary param] this in cString(using:) : | +| string.swift:403:22:403:22 | tainted : | string.swift:403:22:403:65 | call to cString(using:) : | +| string.swift:403:22:403:65 | call to cString(using:) : | string.swift:404:13:404:13 | arrayString2 | +| string.swift:450:28:450:36 | call to source4() : | string.swift:470:27:470:27 | taintedUInt8Values : | +| string.swift:450:28:450:36 | call to source4() : | string.swift:473:29:473:29 | taintedUInt8Values : | +| string.swift:470:13:470:77 | call to String.init(bytes:encoding:) : | string.swift:470:13:470:78 | ...! | +| string.swift:470:27:470:27 | taintedUInt8Values : | string.swift:71:3:71:102 | [summary param] 0 in String.init(bytes:encoding:) : | +| string.swift:470:27:470:27 | taintedUInt8Values : | string.swift:470:13:470:77 | call to String.init(bytes:encoding:) : | +| string.swift:473:29:473:29 | taintedUInt8Values : | file://:0:0:0:0 | [summary param] 0 in String.init(cString:) : | +| string.swift:473:29:473:29 | taintedUInt8Values : | string.swift:473:13:473:47 | call to String.init(cString:) | +| string.swift:506:37:506:45 | call to source5() : | string.swift:526:29:526:29 | taintedCCharValues : | +| string.swift:526:29:526:29 | taintedCCharValues : | file://:0:0:0:0 | [summary param] 0 in String.init(cString:) : | +| string.swift:526:29:526:29 | taintedCCharValues : | string.swift:526:13:526:47 | call to String.init(cString:) | +| string.swift:554:17:554:25 | call to source2() : | string.swift:559:13:559:13 | sub1 | +| string.swift:554:17:554:25 | call to source2() : | string.swift:560:20:560:20 | sub1 : | +| string.swift:554:17:554:25 | call to source2() : | string.swift:562:14:562:14 | tainted : | +| string.swift:554:17:554:25 | call to source2() : | string.swift:566:14:566:14 | tainted : | +| string.swift:554:17:554:25 | call to source2() : | string.swift:570:14:570:14 | tainted : | +| string.swift:554:17:554:25 | call to source2() : | string.swift:574:14:574:14 | tainted : | +| string.swift:554:17:554:25 | call to source2() : | string.swift:578:14:578:14 | tainted : | +| string.swift:560:20:560:20 | sub1 : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | +| string.swift:560:20:560:20 | sub1 : | string.swift:560:13:560:24 | call to String.init(_:) | +| string.swift:562:14:562:14 | tainted : | file://:0:0:0:0 | [summary param] this in prefix(_:) : | +| string.swift:562:14:562:14 | tainted : | string.swift:562:14:562:31 | call to prefix(_:) : | +| string.swift:562:14:562:31 | call to prefix(_:) : | string.swift:563:13:563:13 | sub2 | +| string.swift:562:14:562:31 | call to prefix(_:) : | string.swift:564:20:564:20 | sub2 : | +| string.swift:564:20:564:20 | sub2 : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | +| string.swift:564:20:564:20 | sub2 : | string.swift:564:13:564:24 | call to String.init(_:) | +| string.swift:566:14:566:14 | tainted : | file://:0:0:0:0 | [summary param] this in prefix(through:) : | +| string.swift:566:14:566:14 | tainted : | string.swift:566:14:566:54 | call to prefix(through:) : | +| string.swift:566:14:566:54 | call to prefix(through:) : | string.swift:567:13:567:13 | sub3 | +| string.swift:566:14:566:54 | call to prefix(through:) : | string.swift:568:20:568:20 | sub3 : | +| string.swift:568:20:568:20 | sub3 : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | +| string.swift:568:20:568:20 | sub3 : | string.swift:568:13:568:24 | call to String.init(_:) | +| string.swift:570:14:570:14 | tainted : | file://:0:0:0:0 | [summary param] this in prefix(upTo:) : | +| string.swift:570:14:570:14 | tainted : | string.swift:570:14:570:51 | call to prefix(upTo:) : | +| string.swift:570:14:570:51 | call to prefix(upTo:) : | string.swift:571:13:571:13 | sub4 | +| string.swift:570:14:570:51 | call to prefix(upTo:) : | string.swift:572:20:572:20 | sub4 : | +| string.swift:572:20:572:20 | sub4 : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | +| string.swift:572:20:572:20 | sub4 : | string.swift:572:13:572:24 | call to String.init(_:) | +| string.swift:574:14:574:14 | tainted : | file://:0:0:0:0 | [summary param] this in suffix(_:) : | +| string.swift:574:14:574:14 | tainted : | string.swift:574:14:574:31 | call to suffix(_:) : | +| string.swift:574:14:574:31 | call to suffix(_:) : | string.swift:575:13:575:13 | sub5 | +| string.swift:574:14:574:31 | call to suffix(_:) : | string.swift:576:20:576:20 | sub5 : | +| string.swift:576:20:576:20 | sub5 : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | +| string.swift:576:20:576:20 | sub5 : | string.swift:576:13:576:24 | call to String.init(_:) | +| string.swift:578:14:578:14 | tainted : | file://:0:0:0:0 | [summary param] this in suffix(from:) : | +| string.swift:578:14:578:14 | tainted : | string.swift:578:14:578:53 | call to suffix(from:) : | +| string.swift:578:14:578:53 | call to suffix(from:) : | string.swift:579:13:579:13 | sub6 | +| string.swift:578:14:578:53 | call to suffix(from:) : | string.swift:580:20:580:20 | sub6 : | +| string.swift:580:20:580:20 | sub6 : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | +| string.swift:580:20:580:20 | sub6 : | string.swift:580:13:580:24 | call to String.init(_:) | +| string.swift:636:20:636:27 | call to source() : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | +| string.swift:636:20:636:27 | call to source() : | string.swift:636:13:636:28 | call to String.init(_:) | +| string.swift:640:32:640:39 | call to source() : | file://:0:0:0:0 | [summary param] 0 in String.init(describing:) : | +| string.swift:640:32:640:39 | call to source() : | string.swift:640:13:640:40 | call to String.init(describing:) | | subscript.swift:13:15:13:22 | call to source() : | subscript.swift:13:15:13:25 | ...[...] | | subscript.swift:14:15:14:23 | call to source2() : | subscript.swift:14:15:14:26 | ...[...] | | try.swift:9:17:9:24 | call to source() : | try.swift:9:13:9:24 | try ... | @@ -1097,6 +1109,7 @@ nodes | file://:0:0:0:0 | [summary] to write: argument this in replaceBytes(in:withBytes:length:) : | semmle.label | [summary] to write: argument this in replaceBytes(in:withBytes:length:) : | | file://:0:0:0:0 | [summary] to write: argument this in replaceSubrange(_:with:) : | semmle.label | [summary] to write: argument this in replaceSubrange(_:with:) : | | file://:0:0:0:0 | [summary] to write: argument this in replaceSubrange(_:with:) : | semmle.label | [summary] to write: argument this in replaceSubrange(_:with:) : | +| file://:0:0:0:0 | [summary] to write: argument this in replaceSubrange(_:with:) : | semmle.label | [summary] to write: argument this in replaceSubrange(_:with:) : | | file://:0:0:0:0 | [summary] to write: argument this in replaceSubrange(_:with:count:) : | semmle.label | [summary] to write: argument this in replaceSubrange(_:with:count:) : | | file://:0:0:0:0 | [summary] to write: argument this in replacing(_:with:maxReplacements:) : | semmle.label | [summary] to write: argument this in replacing(_:with:maxReplacements:) : | | file://:0:0:0:0 | [summary] to write: argument this in replacing(_:with:subrange:maxReplacements:) : | semmle.label | [summary] to write: argument this in replacing(_:with:subrange:maxReplacements:) : | @@ -1187,6 +1200,8 @@ nodes | file://:0:0:0:0 | [summary] to write: return (return) in remove(at:) : | semmle.label | [summary] to write: return (return) in remove(at:) : | | file://:0:0:0:0 | [summary] to write: return (return) in removeFirst() : | semmle.label | [summary] to write: return (return) in removeFirst() : | | file://:0:0:0:0 | [summary] to write: return (return) in removeLast() : | semmle.label | [summary] to write: return (return) in removeLast() : | +| file://:0:0:0:0 | [summary] to write: return (return) in replacingOccurrences(of:with:options:range:) : | semmle.label | [summary] to write: return (return) in replacingOccurrences(of:with:options:range:) : | +| file://:0:0:0:0 | [summary] to write: return (return) in replacingOccurrences(of:with:options:range:) : | semmle.label | [summary] to write: return (return) in replacingOccurrences(of:with:options:range:) : | | file://:0:0:0:0 | [summary] to write: return (return) in reversed() : | semmle.label | [summary] to write: return (return) in reversed() : | | file://:0:0:0:0 | [summary] to write: return (return) in reversed() : | semmle.label | [summary] to write: return (return) in reversed() : | | file://:0:0:0:0 | [summary] to write: return (return) in shuffled() : | semmle.label | [summary] to write: return (return) in shuffled() : | @@ -1362,202 +1377,212 @@ nodes | string.swift:67:3:67:77 | [summary param] 0 in String.init(format:locale:arguments:) : | semmle.label | [summary param] 0 in String.init(format:locale:arguments:) : | | string.swift:69:3:69:106 | [summary param] 0 in localizedStringWithFormat(_:_:) : | semmle.label | [summary param] 0 in localizedStringWithFormat(_:_:) : | | string.swift:71:3:71:102 | [summary param] 0 in String.init(bytes:encoding:) : | semmle.label | [summary param] 0 in String.init(bytes:encoding:) : | -| string.swift:98:3:98:63 | [summary param] this in lowercased(with:) : | semmle.label | [summary param] this in lowercased(with:) : | -| string.swift:99:3:99:63 | [summary param] this in uppercased(with:) : | semmle.label | [summary param] this in uppercased(with:) : | -| string.swift:100:3:100:64 | [summary param] this in capitalized(with:) : | semmle.label | [summary param] this in capitalized(with:) : | -| string.swift:101:3:101:64 | [summary param] this in substring(from:) : | semmle.label | [summary param] this in substring(from:) : | -| string.swift:102:3:102:71 | [summary param] this in trimmingCharacters(in:) : | semmle.label | [summary param] this in trimmingCharacters(in:) : | -| string.swift:103:3:103:82 | [summary param] 0 in appending(_:) : | semmle.label | [summary param] 0 in appending(_:) : | -| string.swift:103:3:103:82 | [summary param] this in appending(_:) : | semmle.label | [summary param] this in appending(_:) : | -| string.swift:104:3:104:138 | [summary param] this in padding(toLength:withPad:startingAt:) : | semmle.label | [summary param] this in padding(toLength:withPad:startingAt:) : | -| string.swift:105:3:105:80 | [summary param] this in components(separatedBy:) : | semmle.label | [summary param] this in components(separatedBy:) : | -| string.swift:106:3:106:92 | [summary param] this in folding(options:locale:) : | semmle.label | [summary param] this in folding(options:locale:) : | -| string.swift:107:3:107:78 | [summary param] this in propertyListFromStringsFileFormat() : | semmle.label | [summary param] this in propertyListFromStringsFileFormat() : | -| string.swift:108:3:108:74 | [summary param] this in cString(using:) : | semmle.label | [summary param] this in cString(using:) : | -| string.swift:109:3:109:79 | self[return] : | semmle.label | self[return] : | -| string.swift:109:8:109:8 | self : | semmle.label | self : | -| string.swift:132:11:132:18 | call to source() : | semmle.label | call to source() : | -| string.swift:134:13:134:13 | "..." | semmle.label | "..." | -| string.swift:136:13:136:13 | "..." | semmle.label | "..." | -| string.swift:138:13:138:13 | "..." | semmle.label | "..." | -| string.swift:144:13:144:13 | "..." | semmle.label | "..." | -| string.swift:146:13:146:13 | "..." | semmle.label | "..." | -| string.swift:156:17:156:25 | call to source2() : | semmle.label | call to source2() : | -| string.swift:159:13:159:13 | tainted | semmle.label | tainted | -| string.swift:162:13:162:21 | ... .+(_:_:) ... | semmle.label | ... .+(_:_:) ... | -| string.swift:163:13:163:23 | ... .+(_:_:) ... | semmle.label | ... .+(_:_:) ... | -| string.swift:164:13:164:23 | ... .+(_:_:) ... | semmle.label | ... .+(_:_:) ... | -| string.swift:167:13:167:29 | ... .+(_:_:) ... | semmle.label | ... .+(_:_:) ... | -| string.swift:170:13:170:36 | call to appending(_:) | semmle.label | call to appending(_:) | -| string.swift:170:29:170:29 | tainted : | semmle.label | tainted : | -| string.swift:171:13:171:13 | tainted : | semmle.label | tainted : | -| string.swift:171:13:171:36 | call to appending(_:) | semmle.label | call to appending(_:) | -| string.swift:172:13:172:13 | tainted : | semmle.label | tainted : | -| string.swift:172:13:172:38 | call to appending(_:) | semmle.label | call to appending(_:) | -| string.swift:172:31:172:31 | tainted : | semmle.label | tainted : | -| string.swift:185:3:185:3 | [post] &... : | semmle.label | [post] &... : | -| string.swift:185:15:185:23 | call to source2() : | semmle.label | call to source2() : | -| string.swift:186:13:186:13 | str2 | semmle.label | str2 | -| string.swift:192:3:192:3 | [post] &... : | semmle.label | [post] &... : | -| string.swift:192:27:192:35 | call to source2() : | semmle.label | call to source2() : | -| string.swift:193:13:193:13 | str3 | semmle.label | str3 | -| string.swift:199:3:199:3 | [post] &... : | semmle.label | [post] &... : | -| string.swift:199:14:199:22 | call to source2() : | semmle.label | call to source2() : | -| string.swift:200:13:200:13 | str4 | semmle.label | str4 | -| string.swift:206:3:206:3 | [post] &... : | semmle.label | [post] &... : | -| string.swift:206:27:206:35 | call to source2() : | semmle.label | call to source2() : | -| string.swift:207:13:207:13 | str5 | semmle.label | str5 | -| string.swift:212:17:212:25 | call to source2() : | semmle.label | call to source2() : | -| string.swift:213:20:213:27 | call to source() : | semmle.label | call to source() : | -| string.swift:216:13:216:27 | call to String.init(_:) | semmle.label | call to String.init(_:) | -| string.swift:216:20:216:20 | tainted : | semmle.label | tainted : | -| string.swift:217:13:217:30 | call to String.init(_:) | semmle.label | call to String.init(_:) | -| string.swift:217:20:217:20 | taintedInt : | semmle.label | taintedInt : | -| string.swift:219:13:219:44 | call to String.init(format:_:) | semmle.label | call to String.init(format:_:) | -| string.swift:219:28:219:28 | tainted : | semmle.label | tainted : | -| string.swift:220:13:220:50 | call to String.init(format:arguments:) | semmle.label | call to String.init(format:arguments:) | -| string.swift:220:28:220:28 | tainted : | semmle.label | tainted : | -| string.swift:221:13:221:57 | call to String.init(format:locale:_:) | semmle.label | call to String.init(format:locale:_:) | -| string.swift:221:28:221:28 | tainted : | semmle.label | tainted : | -| string.swift:222:13:222:63 | call to String.init(format:locale:arguments:) | semmle.label | call to String.init(format:locale:arguments:) | -| string.swift:222:28:222:28 | tainted : | semmle.label | tainted : | -| string.swift:223:13:223:62 | call to localizedStringWithFormat(_:_:) | semmle.label | call to localizedStringWithFormat(_:_:) | -| string.swift:223:46:223:46 | tainted : | semmle.label | tainted : | -| string.swift:228:13:228:48 | call to String.init(repeating:count:) | semmle.label | call to String.init(repeating:count:) | -| string.swift:228:31:228:31 | tainted : | semmle.label | tainted : | -| string.swift:230:13:230:13 | tainted : | semmle.label | tainted : | -| string.swift:230:13:230:33 | call to dropFirst(_:) | semmle.label | call to dropFirst(_:) | -| string.swift:231:13:231:13 | tainted : | semmle.label | tainted : | -| string.swift:231:13:231:32 | call to dropLast(_:) | semmle.label | call to dropLast(_:) | -| string.swift:232:13:232:13 | tainted : | semmle.label | tainted : | -| string.swift:232:13:232:55 | call to substring(from:) | semmle.label | call to substring(from:) | -| string.swift:234:13:234:13 | tainted : | semmle.label | tainted : | -| string.swift:234:13:234:32 | call to lowercased() | semmle.label | call to lowercased() | +| string.swift:86:12:87:51 | [summary param] 1 in replaceSubrange(_:with:) : | semmle.label | [summary param] 1 in replaceSubrange(_:with:) : | +| string.swift:101:3:101:63 | [summary param] this in lowercased(with:) : | semmle.label | [summary param] this in lowercased(with:) : | +| string.swift:102:3:102:63 | [summary param] this in uppercased(with:) : | semmle.label | [summary param] this in uppercased(with:) : | +| string.swift:103:3:103:64 | [summary param] this in capitalized(with:) : | semmle.label | [summary param] this in capitalized(with:) : | +| string.swift:104:3:104:64 | [summary param] this in substring(from:) : | semmle.label | [summary param] this in substring(from:) : | +| string.swift:105:3:105:71 | [summary param] this in trimmingCharacters(in:) : | semmle.label | [summary param] this in trimmingCharacters(in:) : | +| string.swift:106:3:106:82 | [summary param] 0 in appending(_:) : | semmle.label | [summary param] 0 in appending(_:) : | +| string.swift:106:3:106:82 | [summary param] this in appending(_:) : | semmle.label | [summary param] this in appending(_:) : | +| string.swift:107:3:107:138 | [summary param] this in padding(toLength:withPad:startingAt:) : | semmle.label | [summary param] this in padding(toLength:withPad:startingAt:) : | +| string.swift:108:3:108:80 | [summary param] this in components(separatedBy:) : | semmle.label | [summary param] this in components(separatedBy:) : | +| string.swift:109:3:109:92 | [summary param] this in folding(options:locale:) : | semmle.label | [summary param] this in folding(options:locale:) : | +| string.swift:110:3:110:78 | [summary param] this in propertyListFromStringsFileFormat() : | semmle.label | [summary param] this in propertyListFromStringsFileFormat() : | +| string.swift:111:3:111:74 | [summary param] this in cString(using:) : | semmle.label | [summary param] this in cString(using:) : | +| string.swift:112:3:112:79 | self[return] : | semmle.label | self[return] : | +| string.swift:112:8:112:8 | self : | semmle.label | self : | +| string.swift:113:3:114:77 | [summary param] 1 in replacingOccurrences(of:with:options:range:) : | semmle.label | [summary param] 1 in replacingOccurrences(of:with:options:range:) : | +| string.swift:113:3:114:77 | [summary param] this in replacingOccurrences(of:with:options:range:) : | semmle.label | [summary param] this in replacingOccurrences(of:with:options:range:) : | +| string.swift:137:11:137:18 | call to source() : | semmle.label | call to source() : | +| string.swift:139:13:139:13 | "..." | semmle.label | "..." | +| string.swift:141:13:141:13 | "..." | semmle.label | "..." | +| string.swift:143:13:143:13 | "..." | semmle.label | "..." | +| string.swift:149:13:149:13 | "..." | semmle.label | "..." | +| string.swift:151:13:151:13 | "..." | semmle.label | "..." | +| string.swift:161:17:161:25 | call to source2() : | semmle.label | call to source2() : | +| string.swift:164:13:164:13 | tainted | semmle.label | tainted | +| string.swift:167:13:167:21 | ... .+(_:_:) ... | semmle.label | ... .+(_:_:) ... | +| string.swift:168:13:168:23 | ... .+(_:_:) ... | semmle.label | ... .+(_:_:) ... | +| string.swift:169:13:169:23 | ... .+(_:_:) ... | semmle.label | ... .+(_:_:) ... | +| string.swift:172:13:172:29 | ... .+(_:_:) ... | semmle.label | ... .+(_:_:) ... | +| string.swift:175:13:175:36 | call to appending(_:) | semmle.label | call to appending(_:) | +| string.swift:175:29:175:29 | tainted : | semmle.label | tainted : | +| string.swift:176:13:176:13 | tainted : | semmle.label | tainted : | +| string.swift:176:13:176:36 | call to appending(_:) | semmle.label | call to appending(_:) | +| string.swift:177:13:177:13 | tainted : | semmle.label | tainted : | +| string.swift:177:13:177:38 | call to appending(_:) | semmle.label | call to appending(_:) | +| string.swift:177:31:177:31 | tainted : | semmle.label | tainted : | +| string.swift:190:3:190:3 | [post] &... : | semmle.label | [post] &... : | +| string.swift:190:15:190:23 | call to source2() : | semmle.label | call to source2() : | +| string.swift:191:13:191:13 | str2 | semmle.label | str2 | +| string.swift:197:3:197:3 | [post] &... : | semmle.label | [post] &... : | +| string.swift:197:27:197:35 | call to source2() : | semmle.label | call to source2() : | +| string.swift:198:13:198:13 | str3 | semmle.label | str3 | +| string.swift:204:3:204:3 | [post] &... : | semmle.label | [post] &... : | +| string.swift:204:14:204:22 | call to source2() : | semmle.label | call to source2() : | +| string.swift:205:13:205:13 | str4 | semmle.label | str4 | +| string.swift:211:3:211:3 | [post] &... : | semmle.label | [post] &... : | +| string.swift:211:27:211:35 | call to source2() : | semmle.label | call to source2() : | +| string.swift:212:13:212:13 | str5 | semmle.label | str5 | +| string.swift:217:17:217:25 | call to source2() : | semmle.label | call to source2() : | +| string.swift:218:20:218:27 | call to source() : | semmle.label | call to source() : | +| string.swift:221:13:221:27 | call to String.init(_:) | semmle.label | call to String.init(_:) | +| string.swift:221:20:221:20 | tainted : | semmle.label | tainted : | +| string.swift:222:13:222:30 | call to String.init(_:) | semmle.label | call to String.init(_:) | +| string.swift:222:20:222:20 | taintedInt : | semmle.label | taintedInt : | +| string.swift:224:13:224:44 | call to String.init(format:_:) | semmle.label | call to String.init(format:_:) | +| string.swift:224:28:224:28 | tainted : | semmle.label | tainted : | +| string.swift:225:13:225:50 | call to String.init(format:arguments:) | semmle.label | call to String.init(format:arguments:) | +| string.swift:225:28:225:28 | tainted : | semmle.label | tainted : | +| string.swift:226:13:226:57 | call to String.init(format:locale:_:) | semmle.label | call to String.init(format:locale:_:) | +| string.swift:226:28:226:28 | tainted : | semmle.label | tainted : | +| string.swift:227:13:227:63 | call to String.init(format:locale:arguments:) | semmle.label | call to String.init(format:locale:arguments:) | +| string.swift:227:28:227:28 | tainted : | semmle.label | tainted : | +| string.swift:228:13:228:62 | call to localizedStringWithFormat(_:_:) | semmle.label | call to localizedStringWithFormat(_:_:) | +| string.swift:228:46:228:46 | tainted : | semmle.label | tainted : | +| string.swift:233:13:233:48 | call to String.init(repeating:count:) | semmle.label | call to String.init(repeating:count:) | +| string.swift:233:31:233:31 | tainted : | semmle.label | tainted : | | string.swift:235:13:235:13 | tainted : | semmle.label | tainted : | -| string.swift:235:13:235:32 | call to uppercased() | semmle.label | call to uppercased() | +| string.swift:235:13:235:33 | call to dropFirst(_:) | semmle.label | call to dropFirst(_:) | | string.swift:236:13:236:13 | tainted : | semmle.label | tainted : | -| string.swift:236:13:236:41 | call to lowercased(with:) | semmle.label | call to lowercased(with:) | +| string.swift:236:13:236:32 | call to dropLast(_:) | semmle.label | call to dropLast(_:) | | string.swift:237:13:237:13 | tainted : | semmle.label | tainted : | -| string.swift:237:13:237:41 | call to uppercased(with:) | semmle.label | call to uppercased(with:) | -| string.swift:238:13:238:13 | tainted : | semmle.label | tainted : | -| string.swift:238:13:238:42 | call to capitalized(with:) | semmle.label | call to capitalized(with:) | +| string.swift:237:13:237:55 | call to substring(from:) | semmle.label | call to substring(from:) | | string.swift:239:13:239:13 | tainted : | semmle.label | tainted : | -| string.swift:239:13:239:30 | call to reversed() | semmle.label | call to reversed() | +| string.swift:239:13:239:32 | call to lowercased() | semmle.label | call to lowercased() | +| string.swift:240:13:240:13 | tainted : | semmle.label | tainted : | +| string.swift:240:13:240:32 | call to uppercased() | semmle.label | call to uppercased() | | string.swift:241:13:241:13 | tainted : | semmle.label | tainted : | -| string.swift:241:13:241:41 | call to split(separator:maxSplits:omittingEmptySubsequences:) | semmle.label | call to split(separator:maxSplits:omittingEmptySubsequences:) | +| string.swift:241:13:241:41 | call to lowercased(with:) | semmle.label | call to lowercased(with:) | | string.swift:242:13:242:13 | tainted : | semmle.label | tainted : | -| string.swift:242:13:244:4 | call to split(maxSplits:omittingEmptySubsequences:whereSeparator:) | semmle.label | call to split(maxSplits:omittingEmptySubsequences:whereSeparator:) | -| string.swift:245:13:245:13 | tainted : | semmle.label | tainted : | -| string.swift:245:13:245:68 | call to trimmingCharacters(in:) | semmle.label | call to trimmingCharacters(in:) | +| string.swift:242:13:242:41 | call to uppercased(with:) | semmle.label | call to uppercased(with:) | +| string.swift:243:13:243:13 | tainted : | semmle.label | tainted : | +| string.swift:243:13:243:42 | call to capitalized(with:) | semmle.label | call to capitalized(with:) | +| string.swift:244:13:244:13 | tainted : | semmle.label | tainted : | +| string.swift:244:13:244:30 | call to reversed() | semmle.label | call to reversed() | | string.swift:246:13:246:13 | tainted : | semmle.label | tainted : | -| string.swift:246:13:246:70 | call to padding(toLength:withPad:startingAt:) | semmle.label | call to padding(toLength:withPad:startingAt:) | +| string.swift:246:13:246:41 | call to split(separator:maxSplits:omittingEmptySubsequences:) | semmle.label | call to split(separator:maxSplits:omittingEmptySubsequences:) | | string.swift:247:13:247:13 | tainted : | semmle.label | tainted : | -| string.swift:247:13:247:69 | call to components(separatedBy:) | semmle.label | call to components(separatedBy:) | -| string.swift:248:13:248:13 | tainted : | semmle.label | tainted : | -| string.swift:248:13:248:69 | call to components(separatedBy:) : | semmle.label | call to components(separatedBy:) : | -| string.swift:248:13:248:72 | ...[...] | semmle.label | ...[...] | -| string.swift:249:13:249:13 | tainted : | semmle.label | tainted : | -| string.swift:249:13:249:40 | call to folding(options:locale:) | semmle.label | call to folding(options:locale:) | +| string.swift:247:13:249:4 | call to split(maxSplits:omittingEmptySubsequences:whereSeparator:) | semmle.label | call to split(maxSplits:omittingEmptySubsequences:whereSeparator:) | | string.swift:250:13:250:13 | tainted : | semmle.label | tainted : | -| string.swift:250:13:250:55 | call to propertyListFromStringsFileFormat() | semmle.label | call to propertyListFromStringsFileFormat() | +| string.swift:250:13:250:68 | call to trimmingCharacters(in:) | semmle.label | call to trimmingCharacters(in:) | | string.swift:251:13:251:13 | tainted : | semmle.label | tainted : | -| string.swift:251:13:251:55 | call to propertyListFromStringsFileFormat() : | semmle.label | call to propertyListFromStringsFileFormat() : | -| string.swift:251:13:251:63 | ...! | semmle.label | ...! | -| string.swift:258:13:258:13 | [post] tainted : | semmle.label | [post] tainted : | -| string.swift:258:13:258:13 | tainted : | semmle.label | tainted : | -| string.swift:270:13:270:21 | .description | semmle.label | .description | -| string.swift:272:13:272:21 | .debugDescription | semmle.label | .debugDescription | -| string.swift:274:13:274:21 | .utf8 | semmle.label | .utf8 | -| string.swift:276:13:276:21 | .utf16 | semmle.label | .utf16 | -| string.swift:278:13:278:21 | .unicodeScalars | semmle.label | .unicodeScalars | -| string.swift:280:13:280:21 | .utf8CString | semmle.label | .utf8CString | -| string.swift:282:13:282:21 | .lazy | semmle.label | .lazy | -| string.swift:284:13:284:21 | .capitalized | semmle.label | .capitalized | -| string.swift:286:13:286:21 | .localizedCapitalized | semmle.label | .localizedCapitalized | -| string.swift:288:13:288:21 | .localizedLowercase | semmle.label | .localizedLowercase | -| string.swift:290:13:290:21 | .localizedUppercase | semmle.label | .localizedUppercase | -| string.swift:292:13:292:21 | .decomposedStringWithCanonicalMapping | semmle.label | .decomposedStringWithCanonicalMapping | -| string.swift:294:13:294:21 | .precomposedStringWithCompatibilityMapping | semmle.label | .precomposedStringWithCompatibilityMapping | -| string.swift:296:13:296:44 | ...! | semmle.label | ...! | -| string.swift:300:14:300:22 | call to source2() : | semmle.label | call to source2() : | -| string.swift:301:13:301:13 | str1 | semmle.label | str1 | -| string.swift:302:13:302:13 | &... : | semmle.label | &... : | -| string.swift:302:13:302:44 | call to remove(at:) | semmle.label | call to remove(at:) | -| string.swift:303:13:303:13 | str1 | semmle.label | str1 | -| string.swift:305:14:305:22 | call to source2() : | semmle.label | call to source2() : | -| string.swift:306:13:306:13 | str2 | semmle.label | str2 | -| string.swift:308:13:308:13 | str2 | semmle.label | str2 | -| string.swift:310:14:310:22 | call to source2() : | semmle.label | call to source2() : | -| string.swift:311:13:311:13 | str3 | semmle.label | str3 | -| string.swift:313:13:313:13 | str3 | semmle.label | str3 | -| string.swift:315:14:315:22 | call to source2() : | semmle.label | call to source2() : | -| string.swift:316:13:316:13 | str4 | semmle.label | str4 | -| string.swift:317:13:317:13 | &... : | semmle.label | &... : | -| string.swift:317:13:317:30 | call to removeFirst() | semmle.label | call to removeFirst() | -| string.swift:318:13:318:13 | str4 | semmle.label | str4 | -| string.swift:320:13:320:13 | str4 | semmle.label | str4 | -| string.swift:321:13:321:13 | &... : | semmle.label | &... : | -| string.swift:321:13:321:29 | call to removeLast() | semmle.label | call to removeLast() | -| string.swift:322:13:322:13 | str4 | semmle.label | str4 | -| string.swift:324:13:324:13 | str4 | semmle.label | str4 | -| string.swift:326:14:326:22 | call to source2() : | semmle.label | call to source2() : | -| string.swift:327:13:327:13 | str5 | semmle.label | str5 | -| string.swift:329:13:329:13 | str5 | semmle.label | str5 | -| string.swift:331:14:331:22 | call to source2() : | semmle.label | call to source2() : | -| string.swift:332:13:332:13 | str6 | semmle.label | str6 | -| string.swift:334:13:334:13 | str6 | semmle.label | str6 | -| string.swift:341:23:341:77 | call to String.init(data:encoding:) : | semmle.label | call to String.init(data:encoding:) : | -| string.swift:341:36:341:44 | call to source3() : | semmle.label | call to source3() : | -| string.swift:344:12:344:25 | ...! | semmle.label | ...! | -| string.swift:347:13:347:54 | call to String.init(decoding:as:) | semmle.label | call to String.init(decoding:as:) | -| string.swift:347:30:347:38 | call to source3() : | semmle.label | call to source3() : | -| string.swift:352:17:352:25 | call to source2() : | semmle.label | call to source2() : | -| string.swift:389:22:389:22 | tainted : | semmle.label | tainted : | -| string.swift:389:22:389:65 | call to cString(using:) : | semmle.label | call to cString(using:) : | -| string.swift:390:13:390:13 | arrayString2 | semmle.label | arrayString2 | -| string.swift:436:28:436:36 | call to source4() : | semmle.label | call to source4() : | -| string.swift:456:13:456:77 | call to String.init(bytes:encoding:) : | semmle.label | call to String.init(bytes:encoding:) : | -| string.swift:456:13:456:78 | ...! | semmle.label | ...! | -| string.swift:456:27:456:27 | taintedUInt8Values : | semmle.label | taintedUInt8Values : | -| string.swift:459:13:459:47 | call to String.init(cString:) | semmle.label | call to String.init(cString:) | -| string.swift:459:29:459:29 | taintedUInt8Values : | semmle.label | taintedUInt8Values : | -| string.swift:492:37:492:45 | call to source5() : | semmle.label | call to source5() : | -| string.swift:512:13:512:47 | call to String.init(cString:) | semmle.label | call to String.init(cString:) | -| string.swift:512:29:512:29 | taintedCCharValues : | semmle.label | taintedCCharValues : | -| string.swift:540:17:540:25 | call to source2() : | semmle.label | call to source2() : | -| string.swift:542:13:542:21 | call to source7() | semmle.label | call to source7() | -| string.swift:545:13:545:13 | sub1 | semmle.label | sub1 | -| string.swift:546:13:546:24 | call to String.init(_:) | semmle.label | call to String.init(_:) | -| string.swift:546:20:546:20 | sub1 : | semmle.label | sub1 : | -| string.swift:548:14:548:14 | tainted : | semmle.label | tainted : | -| string.swift:548:14:548:31 | call to prefix(_:) : | semmle.label | call to prefix(_:) : | -| string.swift:549:13:549:13 | sub2 | semmle.label | sub2 | -| string.swift:550:13:550:24 | call to String.init(_:) | semmle.label | call to String.init(_:) | -| string.swift:550:20:550:20 | sub2 : | semmle.label | sub2 : | -| string.swift:552:14:552:14 | tainted : | semmle.label | tainted : | -| string.swift:552:14:552:54 | call to prefix(through:) : | semmle.label | call to prefix(through:) : | -| string.swift:553:13:553:13 | sub3 | semmle.label | sub3 | -| string.swift:554:13:554:24 | call to String.init(_:) | semmle.label | call to String.init(_:) | -| string.swift:554:20:554:20 | sub3 : | semmle.label | sub3 : | -| string.swift:556:14:556:14 | tainted : | semmle.label | tainted : | -| string.swift:556:14:556:51 | call to prefix(upTo:) : | semmle.label | call to prefix(upTo:) : | -| string.swift:557:13:557:13 | sub4 | semmle.label | sub4 | -| string.swift:558:13:558:24 | call to String.init(_:) | semmle.label | call to String.init(_:) | -| string.swift:558:20:558:20 | sub4 : | semmle.label | sub4 : | -| string.swift:560:14:560:14 | tainted : | semmle.label | tainted : | -| string.swift:560:14:560:31 | call to suffix(_:) : | semmle.label | call to suffix(_:) : | -| string.swift:561:13:561:13 | sub5 | semmle.label | sub5 | -| string.swift:562:13:562:24 | call to String.init(_:) | semmle.label | call to String.init(_:) | -| string.swift:562:20:562:20 | sub5 : | semmle.label | sub5 : | -| string.swift:564:14:564:14 | tainted : | semmle.label | tainted : | -| string.swift:564:14:564:53 | call to suffix(from:) : | semmle.label | call to suffix(from:) : | -| string.swift:565:13:565:13 | sub6 | semmle.label | sub6 | -| string.swift:566:13:566:24 | call to String.init(_:) | semmle.label | call to String.init(_:) | -| string.swift:566:20:566:20 | sub6 : | semmle.label | sub6 : | -| string.swift:622:13:622:28 | call to String.init(_:) | semmle.label | call to String.init(_:) | -| string.swift:622:20:622:27 | call to source() : | semmle.label | call to source() : | -| string.swift:626:13:626:40 | call to String.init(describing:) | semmle.label | call to String.init(describing:) | -| string.swift:626:32:626:39 | call to source() : | semmle.label | call to source() : | +| string.swift:251:13:251:70 | call to padding(toLength:withPad:startingAt:) | semmle.label | call to padding(toLength:withPad:startingAt:) | +| string.swift:252:13:252:13 | tainted : | semmle.label | tainted : | +| string.swift:252:13:252:69 | call to components(separatedBy:) | semmle.label | call to components(separatedBy:) | +| string.swift:253:13:253:13 | tainted : | semmle.label | tainted : | +| string.swift:253:13:253:69 | call to components(separatedBy:) : | semmle.label | call to components(separatedBy:) : | +| string.swift:253:13:253:72 | ...[...] | semmle.label | ...[...] | +| string.swift:254:13:254:13 | tainted : | semmle.label | tainted : | +| string.swift:254:13:254:40 | call to folding(options:locale:) | semmle.label | call to folding(options:locale:) | +| string.swift:255:13:255:13 | tainted : | semmle.label | tainted : | +| string.swift:255:13:255:55 | call to propertyListFromStringsFileFormat() | semmle.label | call to propertyListFromStringsFileFormat() | +| string.swift:256:13:256:13 | tainted : | semmle.label | tainted : | +| string.swift:256:13:256:55 | call to propertyListFromStringsFileFormat() : | semmle.label | call to propertyListFromStringsFileFormat() : | +| string.swift:256:13:256:63 | ...! | semmle.label | ...! | +| string.swift:263:13:263:13 | [post] tainted : | semmle.label | [post] tainted : | +| string.swift:263:13:263:13 | tainted : | semmle.label | tainted : | +| string.swift:275:13:275:21 | .description | semmle.label | .description | +| string.swift:277:13:277:21 | .debugDescription | semmle.label | .debugDescription | +| string.swift:279:13:279:21 | .utf8 | semmle.label | .utf8 | +| string.swift:281:13:281:21 | .utf16 | semmle.label | .utf16 | +| string.swift:283:13:283:21 | .unicodeScalars | semmle.label | .unicodeScalars | +| string.swift:285:13:285:21 | .utf8CString | semmle.label | .utf8CString | +| string.swift:287:13:287:21 | .lazy | semmle.label | .lazy | +| string.swift:289:13:289:21 | .capitalized | semmle.label | .capitalized | +| string.swift:291:13:291:21 | .localizedCapitalized | semmle.label | .localizedCapitalized | +| string.swift:293:13:293:21 | .localizedLowercase | semmle.label | .localizedLowercase | +| string.swift:295:13:295:21 | .localizedUppercase | semmle.label | .localizedUppercase | +| string.swift:297:13:297:21 | .decomposedStringWithCanonicalMapping | semmle.label | .decomposedStringWithCanonicalMapping | +| string.swift:299:13:299:21 | .precomposedStringWithCompatibilityMapping | semmle.label | .precomposedStringWithCompatibilityMapping | +| string.swift:301:13:301:44 | ...! | semmle.label | ...! | +| string.swift:304:13:304:13 | tainted : | semmle.label | tainted : | +| string.swift:304:13:304:60 | call to replacingOccurrences(of:with:options:range:) | semmle.label | call to replacingOccurrences(of:with:options:range:) | +| string.swift:305:13:305:64 | call to replacingOccurrences(of:with:options:range:) | semmle.label | call to replacingOccurrences(of:with:options:range:) | +| string.swift:305:55:305:63 | call to source2() : | semmle.label | call to source2() : | +| string.swift:309:14:309:22 | call to source2() : | semmle.label | call to source2() : | +| string.swift:310:13:310:13 | str1 | semmle.label | str1 | +| string.swift:311:13:311:13 | &... : | semmle.label | &... : | +| string.swift:311:13:311:44 | call to remove(at:) | semmle.label | call to remove(at:) | +| string.swift:312:13:312:13 | str1 | semmle.label | str1 | +| string.swift:314:14:314:22 | call to source2() : | semmle.label | call to source2() : | +| string.swift:315:13:315:13 | str2 | semmle.label | str2 | +| string.swift:317:13:317:13 | str2 | semmle.label | str2 | +| string.swift:319:14:319:22 | call to source2() : | semmle.label | call to source2() : | +| string.swift:320:13:320:13 | str3 | semmle.label | str3 | +| string.swift:322:13:322:13 | str3 | semmle.label | str3 | +| string.swift:324:14:324:22 | call to source2() : | semmle.label | call to source2() : | +| string.swift:325:13:325:13 | str4 | semmle.label | str4 | +| string.swift:326:13:326:13 | &... : | semmle.label | &... : | +| string.swift:326:13:326:30 | call to removeFirst() | semmle.label | call to removeFirst() | +| string.swift:327:13:327:13 | str4 | semmle.label | str4 | +| string.swift:329:13:329:13 | str4 | semmle.label | str4 | +| string.swift:330:13:330:13 | &... : | semmle.label | &... : | +| string.swift:330:13:330:29 | call to removeLast() | semmle.label | call to removeLast() | +| string.swift:331:13:331:13 | str4 | semmle.label | str4 | +| string.swift:333:13:333:13 | str4 | semmle.label | str4 | +| string.swift:335:14:335:22 | call to source2() : | semmle.label | call to source2() : | +| string.swift:336:13:336:13 | str5 | semmle.label | str5 | +| string.swift:338:13:338:13 | str5 | semmle.label | str5 | +| string.swift:340:14:340:22 | call to source2() : | semmle.label | call to source2() : | +| string.swift:341:13:341:13 | str6 | semmle.label | str6 | +| string.swift:343:13:343:13 | str6 | semmle.label | str6 | +| string.swift:347:3:347:3 | [post] &... : | semmle.label | [post] &... : | +| string.swift:347:62:347:70 | call to source2() : | semmle.label | call to source2() : | +| string.swift:348:13:348:13 | str7 | semmle.label | str7 | +| string.swift:355:23:355:77 | call to String.init(data:encoding:) : | semmle.label | call to String.init(data:encoding:) : | +| string.swift:355:36:355:44 | call to source3() : | semmle.label | call to source3() : | +| string.swift:358:12:358:25 | ...! | semmle.label | ...! | +| string.swift:361:13:361:54 | call to String.init(decoding:as:) | semmle.label | call to String.init(decoding:as:) | +| string.swift:361:30:361:38 | call to source3() : | semmle.label | call to source3() : | +| string.swift:366:17:366:25 | call to source2() : | semmle.label | call to source2() : | +| string.swift:403:22:403:22 | tainted : | semmle.label | tainted : | +| string.swift:403:22:403:65 | call to cString(using:) : | semmle.label | call to cString(using:) : | +| string.swift:404:13:404:13 | arrayString2 | semmle.label | arrayString2 | +| string.swift:450:28:450:36 | call to source4() : | semmle.label | call to source4() : | +| string.swift:470:13:470:77 | call to String.init(bytes:encoding:) : | semmle.label | call to String.init(bytes:encoding:) : | +| string.swift:470:13:470:78 | ...! | semmle.label | ...! | +| string.swift:470:27:470:27 | taintedUInt8Values : | semmle.label | taintedUInt8Values : | +| string.swift:473:13:473:47 | call to String.init(cString:) | semmle.label | call to String.init(cString:) | +| string.swift:473:29:473:29 | taintedUInt8Values : | semmle.label | taintedUInt8Values : | +| string.swift:506:37:506:45 | call to source5() : | semmle.label | call to source5() : | +| string.swift:526:13:526:47 | call to String.init(cString:) | semmle.label | call to String.init(cString:) | +| string.swift:526:29:526:29 | taintedCCharValues : | semmle.label | taintedCCharValues : | +| string.swift:554:17:554:25 | call to source2() : | semmle.label | call to source2() : | +| string.swift:556:13:556:21 | call to source7() | semmle.label | call to source7() | +| string.swift:559:13:559:13 | sub1 | semmle.label | sub1 | +| string.swift:560:13:560:24 | call to String.init(_:) | semmle.label | call to String.init(_:) | +| string.swift:560:20:560:20 | sub1 : | semmle.label | sub1 : | +| string.swift:562:14:562:14 | tainted : | semmle.label | tainted : | +| string.swift:562:14:562:31 | call to prefix(_:) : | semmle.label | call to prefix(_:) : | +| string.swift:563:13:563:13 | sub2 | semmle.label | sub2 | +| string.swift:564:13:564:24 | call to String.init(_:) | semmle.label | call to String.init(_:) | +| string.swift:564:20:564:20 | sub2 : | semmle.label | sub2 : | +| string.swift:566:14:566:14 | tainted : | semmle.label | tainted : | +| string.swift:566:14:566:54 | call to prefix(through:) : | semmle.label | call to prefix(through:) : | +| string.swift:567:13:567:13 | sub3 | semmle.label | sub3 | +| string.swift:568:13:568:24 | call to String.init(_:) | semmle.label | call to String.init(_:) | +| string.swift:568:20:568:20 | sub3 : | semmle.label | sub3 : | +| string.swift:570:14:570:14 | tainted : | semmle.label | tainted : | +| string.swift:570:14:570:51 | call to prefix(upTo:) : | semmle.label | call to prefix(upTo:) : | +| string.swift:571:13:571:13 | sub4 | semmle.label | sub4 | +| string.swift:572:13:572:24 | call to String.init(_:) | semmle.label | call to String.init(_:) | +| string.swift:572:20:572:20 | sub4 : | semmle.label | sub4 : | +| string.swift:574:14:574:14 | tainted : | semmle.label | tainted : | +| string.swift:574:14:574:31 | call to suffix(_:) : | semmle.label | call to suffix(_:) : | +| string.swift:575:13:575:13 | sub5 | semmle.label | sub5 | +| string.swift:576:13:576:24 | call to String.init(_:) | semmle.label | call to String.init(_:) | +| string.swift:576:20:576:20 | sub5 : | semmle.label | sub5 : | +| string.swift:578:14:578:14 | tainted : | semmle.label | tainted : | +| string.swift:578:14:578:53 | call to suffix(from:) : | semmle.label | call to suffix(from:) : | +| string.swift:579:13:579:13 | sub6 | semmle.label | sub6 | +| string.swift:580:13:580:24 | call to String.init(_:) | semmle.label | call to String.init(_:) | +| string.swift:580:20:580:20 | sub6 : | semmle.label | sub6 : | +| string.swift:636:13:636:28 | call to String.init(_:) | semmle.label | call to String.init(_:) | +| string.swift:636:20:636:27 | call to source() : | semmle.label | call to source() : | +| string.swift:640:13:640:40 | call to String.init(describing:) | semmle.label | call to String.init(describing:) | +| string.swift:640:32:640:39 | call to source() : | semmle.label | call to source() : | | subscript.swift:13:15:13:22 | call to source() : | semmle.label | call to source() : | | subscript.swift:13:15:13:25 | ...[...] | semmle.label | ...[...] | | subscript.swift:14:15:14:23 | call to source2() : | semmle.label | call to source2() : | @@ -1864,63 +1889,66 @@ subpaths | nsmutabledata.swift:40:66:40:73 | call to source() : | nsmutabledata.swift:17:5:17:121 | [summary param] 1 in replaceBytes(in:withBytes:length:) : | file://:0:0:0:0 | [summary] to write: argument this in replaceBytes(in:withBytes:length:) : | nsmutabledata.swift:40:5:40:5 | [post] nsMutableDataTainted4 : | | nsmutabledata.swift:44:35:44:42 | call to source() : | nsmutabledata.swift:18:5:18:33 | [summary param] 0 in setData(_:) : | file://:0:0:0:0 | [summary] to write: argument this in setData(_:) : | nsmutabledata.swift:44:5:44:5 | [post] nsMutableDataTainted5 : | | nsmutabledata.swift:49:15:49:15 | nsMutableDataTainted6 : | nsmutabledata.swift:13:9:13:9 | self : | file://:0:0:0:0 | .mutableBytes : | nsmutabledata.swift:49:15:49:37 | .mutableBytes | -| string.swift:170:29:170:29 | tainted : | string.swift:103:3:103:82 | [summary param] 0 in appending(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in appending(_:) : | string.swift:170:13:170:36 | call to appending(_:) | -| string.swift:171:13:171:13 | tainted : | string.swift:103:3:103:82 | [summary param] this in appending(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in appending(_:) : | string.swift:171:13:171:36 | call to appending(_:) | -| string.swift:172:13:172:13 | tainted : | string.swift:103:3:103:82 | [summary param] this in appending(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in appending(_:) : | string.swift:172:13:172:38 | call to appending(_:) | -| string.swift:172:31:172:31 | tainted : | string.swift:103:3:103:82 | [summary param] 0 in appending(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in appending(_:) : | string.swift:172:13:172:38 | call to appending(_:) | -| string.swift:185:15:185:23 | call to source2() : | file://:0:0:0:0 | [summary param] 0 in append(_:) : | file://:0:0:0:0 | [summary] to write: argument this in append(_:) : | string.swift:185:3:185:3 | [post] &... : | -| string.swift:192:27:192:35 | call to source2() : | file://:0:0:0:0 | [summary param] 0 in append(contentsOf:) : | file://:0:0:0:0 | [summary] to write: argument this in append(contentsOf:) : | string.swift:192:3:192:3 | [post] &... : | -| string.swift:199:14:199:22 | call to source2() : | file://:0:0:0:0 | [summary param] 0 in write(_:) : | file://:0:0:0:0 | [summary] to write: argument this in write(_:) : | string.swift:199:3:199:3 | [post] &... : | -| string.swift:206:27:206:35 | call to source2() : | file://:0:0:0:0 | [summary param] 0 in insert(contentsOf:at:) : | file://:0:0:0:0 | [summary] to write: argument this in insert(contentsOf:at:) : | string.swift:206:3:206:3 | [post] &... : | -| string.swift:216:20:216:20 | tainted : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(_:) : | string.swift:216:13:216:27 | call to String.init(_:) | -| string.swift:217:20:217:20 | taintedInt : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(_:) : | string.swift:217:13:217:30 | call to String.init(_:) | -| string.swift:219:28:219:28 | tainted : | string.swift:64:3:64:63 | [summary param] 0 in String.init(format:_:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(format:_:) : | string.swift:219:13:219:44 | call to String.init(format:_:) | -| string.swift:220:28:220:28 | tainted : | string.swift:65:3:65:60 | [summary param] 0 in String.init(format:arguments:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(format:arguments:) : | string.swift:220:13:220:50 | call to String.init(format:arguments:) | -| string.swift:221:28:221:28 | tainted : | string.swift:66:3:66:75 | [summary param] 0 in String.init(format:locale:_:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(format:locale:_:) : | string.swift:221:13:221:57 | call to String.init(format:locale:_:) | -| string.swift:222:28:222:28 | tainted : | string.swift:67:3:67:77 | [summary param] 0 in String.init(format:locale:arguments:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(format:locale:arguments:) : | string.swift:222:13:222:63 | call to String.init(format:locale:arguments:) | -| string.swift:223:46:223:46 | tainted : | string.swift:69:3:69:106 | [summary param] 0 in localizedStringWithFormat(_:_:) : | file://:0:0:0:0 | [summary] to write: return (return) in localizedStringWithFormat(_:_:) : | string.swift:223:13:223:62 | call to localizedStringWithFormat(_:_:) | -| string.swift:228:31:228:31 | tainted : | file://:0:0:0:0 | [summary param] 0 in String.init(repeating:count:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(repeating:count:) : | string.swift:228:13:228:48 | call to String.init(repeating:count:) | -| string.swift:230:13:230:13 | tainted : | file://:0:0:0:0 | [summary param] this in dropFirst(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in dropFirst(_:) : | string.swift:230:13:230:33 | call to dropFirst(_:) | -| string.swift:231:13:231:13 | tainted : | file://:0:0:0:0 | [summary param] this in dropLast(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in dropLast(_:) : | string.swift:231:13:231:32 | call to dropLast(_:) | -| string.swift:232:13:232:13 | tainted : | string.swift:101:3:101:64 | [summary param] this in substring(from:) : | file://:0:0:0:0 | [summary] to write: return (return) in substring(from:) : | string.swift:232:13:232:55 | call to substring(from:) | -| string.swift:234:13:234:13 | tainted : | file://:0:0:0:0 | [summary param] this in lowercased() : | file://:0:0:0:0 | [summary] to write: return (return) in lowercased() : | string.swift:234:13:234:32 | call to lowercased() | -| string.swift:235:13:235:13 | tainted : | file://:0:0:0:0 | [summary param] this in uppercased() : | file://:0:0:0:0 | [summary] to write: return (return) in uppercased() : | string.swift:235:13:235:32 | call to uppercased() | -| string.swift:236:13:236:13 | tainted : | string.swift:98:3:98:63 | [summary param] this in lowercased(with:) : | file://:0:0:0:0 | [summary] to write: return (return) in lowercased(with:) : | string.swift:236:13:236:41 | call to lowercased(with:) | -| string.swift:237:13:237:13 | tainted : | string.swift:99:3:99:63 | [summary param] this in uppercased(with:) : | file://:0:0:0:0 | [summary] to write: return (return) in uppercased(with:) : | string.swift:237:13:237:41 | call to uppercased(with:) | -| string.swift:238:13:238:13 | tainted : | string.swift:100:3:100:64 | [summary param] this in capitalized(with:) : | file://:0:0:0:0 | [summary] to write: return (return) in capitalized(with:) : | string.swift:238:13:238:42 | call to capitalized(with:) | -| string.swift:239:13:239:13 | tainted : | file://:0:0:0:0 | [summary param] this in reversed() : | file://:0:0:0:0 | [summary] to write: return (return) in reversed() : | string.swift:239:13:239:30 | call to reversed() | -| string.swift:241:13:241:13 | tainted : | file://:0:0:0:0 | [summary param] this in split(separator:maxSplits:omittingEmptySubsequences:) : | file://:0:0:0:0 | [summary] to write: return (return) in split(separator:maxSplits:omittingEmptySubsequences:) : | string.swift:241:13:241:41 | call to split(separator:maxSplits:omittingEmptySubsequences:) | -| string.swift:242:13:242:13 | tainted : | file://:0:0:0:0 | [summary param] this in split(maxSplits:omittingEmptySubsequences:whereSeparator:) : | file://:0:0:0:0 | [summary] to write: return (return) in split(maxSplits:omittingEmptySubsequences:whereSeparator:) : | string.swift:242:13:244:4 | call to split(maxSplits:omittingEmptySubsequences:whereSeparator:) | -| string.swift:245:13:245:13 | tainted : | string.swift:102:3:102:71 | [summary param] this in trimmingCharacters(in:) : | file://:0:0:0:0 | [summary] to write: return (return) in trimmingCharacters(in:) : | string.swift:245:13:245:68 | call to trimmingCharacters(in:) | -| string.swift:246:13:246:13 | tainted : | string.swift:104:3:104:138 | [summary param] this in padding(toLength:withPad:startingAt:) : | file://:0:0:0:0 | [summary] to write: return (return) in padding(toLength:withPad:startingAt:) : | string.swift:246:13:246:70 | call to padding(toLength:withPad:startingAt:) | -| string.swift:247:13:247:13 | tainted : | string.swift:105:3:105:80 | [summary param] this in components(separatedBy:) : | file://:0:0:0:0 | [summary] to write: return (return) in components(separatedBy:) : | string.swift:247:13:247:69 | call to components(separatedBy:) | -| string.swift:248:13:248:13 | tainted : | string.swift:105:3:105:80 | [summary param] this in components(separatedBy:) : | file://:0:0:0:0 | [summary] to write: return (return) in components(separatedBy:) : | string.swift:248:13:248:69 | call to components(separatedBy:) : | -| string.swift:249:13:249:13 | tainted : | string.swift:106:3:106:92 | [summary param] this in folding(options:locale:) : | file://:0:0:0:0 | [summary] to write: return (return) in folding(options:locale:) : | string.swift:249:13:249:40 | call to folding(options:locale:) | -| string.swift:250:13:250:13 | tainted : | string.swift:107:3:107:78 | [summary param] this in propertyListFromStringsFileFormat() : | file://:0:0:0:0 | [summary] to write: return (return) in propertyListFromStringsFileFormat() : | string.swift:250:13:250:55 | call to propertyListFromStringsFileFormat() | -| string.swift:251:13:251:13 | tainted : | string.swift:107:3:107:78 | [summary param] this in propertyListFromStringsFileFormat() : | file://:0:0:0:0 | [summary] to write: return (return) in propertyListFromStringsFileFormat() : | string.swift:251:13:251:55 | call to propertyListFromStringsFileFormat() : | -| string.swift:258:13:258:13 | tainted : | string.swift:109:8:109:8 | self : | string.swift:109:3:109:79 | self[return] : | string.swift:258:13:258:13 | [post] tainted : | -| string.swift:302:13:302:13 | &... : | file://:0:0:0:0 | [summary param] this in remove(at:) : | file://:0:0:0:0 | [summary] to write: return (return) in remove(at:) : | string.swift:302:13:302:44 | call to remove(at:) | -| string.swift:317:13:317:13 | &... : | file://:0:0:0:0 | [summary param] this in removeFirst() : | file://:0:0:0:0 | [summary] to write: return (return) in removeFirst() : | string.swift:317:13:317:30 | call to removeFirst() | -| string.swift:321:13:321:13 | &... : | file://:0:0:0:0 | [summary param] this in removeLast() : | file://:0:0:0:0 | [summary] to write: return (return) in removeLast() : | string.swift:321:13:321:29 | call to removeLast() | -| string.swift:341:36:341:44 | call to source3() : | string.swift:60:2:60:54 | [summary param] 0 in String.init(data:encoding:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(data:encoding:) : | string.swift:341:23:341:77 | call to String.init(data:encoding:) : | -| string.swift:347:30:347:38 | call to source3() : | file://:0:0:0:0 | [summary param] 0 in String.init(decoding:as:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(decoding:as:) : | string.swift:347:13:347:54 | call to String.init(decoding:as:) | -| string.swift:389:22:389:22 | tainted : | string.swift:108:3:108:74 | [summary param] this in cString(using:) : | file://:0:0:0:0 | [summary] to write: return (return) in cString(using:) : | string.swift:389:22:389:65 | call to cString(using:) : | -| string.swift:456:27:456:27 | taintedUInt8Values : | string.swift:71:3:71:102 | [summary param] 0 in String.init(bytes:encoding:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(bytes:encoding:) : | string.swift:456:13:456:77 | call to String.init(bytes:encoding:) : | -| string.swift:459:29:459:29 | taintedUInt8Values : | file://:0:0:0:0 | [summary param] 0 in String.init(cString:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(cString:) : | string.swift:459:13:459:47 | call to String.init(cString:) | -| string.swift:512:29:512:29 | taintedCCharValues : | file://:0:0:0:0 | [summary param] 0 in String.init(cString:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(cString:) : | string.swift:512:13:512:47 | call to String.init(cString:) | -| string.swift:546:20:546:20 | sub1 : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(_:) : | string.swift:546:13:546:24 | call to String.init(_:) | -| string.swift:548:14:548:14 | tainted : | file://:0:0:0:0 | [summary param] this in prefix(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in prefix(_:) : | string.swift:548:14:548:31 | call to prefix(_:) : | -| string.swift:550:20:550:20 | sub2 : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(_:) : | string.swift:550:13:550:24 | call to String.init(_:) | -| string.swift:552:14:552:14 | tainted : | file://:0:0:0:0 | [summary param] this in prefix(through:) : | file://:0:0:0:0 | [summary] to write: return (return) in prefix(through:) : | string.swift:552:14:552:54 | call to prefix(through:) : | -| string.swift:554:20:554:20 | sub3 : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(_:) : | string.swift:554:13:554:24 | call to String.init(_:) | -| string.swift:556:14:556:14 | tainted : | file://:0:0:0:0 | [summary param] this in prefix(upTo:) : | file://:0:0:0:0 | [summary] to write: return (return) in prefix(upTo:) : | string.swift:556:14:556:51 | call to prefix(upTo:) : | -| string.swift:558:20:558:20 | sub4 : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(_:) : | string.swift:558:13:558:24 | call to String.init(_:) | -| string.swift:560:14:560:14 | tainted : | file://:0:0:0:0 | [summary param] this in suffix(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in suffix(_:) : | string.swift:560:14:560:31 | call to suffix(_:) : | -| string.swift:562:20:562:20 | sub5 : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(_:) : | string.swift:562:13:562:24 | call to String.init(_:) | -| string.swift:564:14:564:14 | tainted : | file://:0:0:0:0 | [summary param] this in suffix(from:) : | file://:0:0:0:0 | [summary] to write: return (return) in suffix(from:) : | string.swift:564:14:564:53 | call to suffix(from:) : | -| string.swift:566:20:566:20 | sub6 : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(_:) : | string.swift:566:13:566:24 | call to String.init(_:) | -| string.swift:622:20:622:27 | call to source() : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(_:) : | string.swift:622:13:622:28 | call to String.init(_:) | -| string.swift:626:32:626:39 | call to source() : | file://:0:0:0:0 | [summary param] 0 in String.init(describing:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(describing:) : | string.swift:626:13:626:40 | call to String.init(describing:) | +| string.swift:175:29:175:29 | tainted : | string.swift:106:3:106:82 | [summary param] 0 in appending(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in appending(_:) : | string.swift:175:13:175:36 | call to appending(_:) | +| string.swift:176:13:176:13 | tainted : | string.swift:106:3:106:82 | [summary param] this in appending(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in appending(_:) : | string.swift:176:13:176:36 | call to appending(_:) | +| string.swift:177:13:177:13 | tainted : | string.swift:106:3:106:82 | [summary param] this in appending(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in appending(_:) : | string.swift:177:13:177:38 | call to appending(_:) | +| string.swift:177:31:177:31 | tainted : | string.swift:106:3:106:82 | [summary param] 0 in appending(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in appending(_:) : | string.swift:177:13:177:38 | call to appending(_:) | +| string.swift:190:15:190:23 | call to source2() : | file://:0:0:0:0 | [summary param] 0 in append(_:) : | file://:0:0:0:0 | [summary] to write: argument this in append(_:) : | string.swift:190:3:190:3 | [post] &... : | +| string.swift:197:27:197:35 | call to source2() : | file://:0:0:0:0 | [summary param] 0 in append(contentsOf:) : | file://:0:0:0:0 | [summary] to write: argument this in append(contentsOf:) : | string.swift:197:3:197:3 | [post] &... : | +| string.swift:204:14:204:22 | call to source2() : | file://:0:0:0:0 | [summary param] 0 in write(_:) : | file://:0:0:0:0 | [summary] to write: argument this in write(_:) : | string.swift:204:3:204:3 | [post] &... : | +| string.swift:211:27:211:35 | call to source2() : | file://:0:0:0:0 | [summary param] 0 in insert(contentsOf:at:) : | file://:0:0:0:0 | [summary] to write: argument this in insert(contentsOf:at:) : | string.swift:211:3:211:3 | [post] &... : | +| string.swift:221:20:221:20 | tainted : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(_:) : | string.swift:221:13:221:27 | call to String.init(_:) | +| string.swift:222:20:222:20 | taintedInt : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(_:) : | string.swift:222:13:222:30 | call to String.init(_:) | +| string.swift:224:28:224:28 | tainted : | string.swift:64:3:64:63 | [summary param] 0 in String.init(format:_:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(format:_:) : | string.swift:224:13:224:44 | call to String.init(format:_:) | +| string.swift:225:28:225:28 | tainted : | string.swift:65:3:65:60 | [summary param] 0 in String.init(format:arguments:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(format:arguments:) : | string.swift:225:13:225:50 | call to String.init(format:arguments:) | +| string.swift:226:28:226:28 | tainted : | string.swift:66:3:66:75 | [summary param] 0 in String.init(format:locale:_:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(format:locale:_:) : | string.swift:226:13:226:57 | call to String.init(format:locale:_:) | +| string.swift:227:28:227:28 | tainted : | string.swift:67:3:67:77 | [summary param] 0 in String.init(format:locale:arguments:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(format:locale:arguments:) : | string.swift:227:13:227:63 | call to String.init(format:locale:arguments:) | +| string.swift:228:46:228:46 | tainted : | string.swift:69:3:69:106 | [summary param] 0 in localizedStringWithFormat(_:_:) : | file://:0:0:0:0 | [summary] to write: return (return) in localizedStringWithFormat(_:_:) : | string.swift:228:13:228:62 | call to localizedStringWithFormat(_:_:) | +| string.swift:233:31:233:31 | tainted : | file://:0:0:0:0 | [summary param] 0 in String.init(repeating:count:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(repeating:count:) : | string.swift:233:13:233:48 | call to String.init(repeating:count:) | +| string.swift:235:13:235:13 | tainted : | file://:0:0:0:0 | [summary param] this in dropFirst(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in dropFirst(_:) : | string.swift:235:13:235:33 | call to dropFirst(_:) | +| string.swift:236:13:236:13 | tainted : | file://:0:0:0:0 | [summary param] this in dropLast(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in dropLast(_:) : | string.swift:236:13:236:32 | call to dropLast(_:) | +| string.swift:237:13:237:13 | tainted : | string.swift:104:3:104:64 | [summary param] this in substring(from:) : | file://:0:0:0:0 | [summary] to write: return (return) in substring(from:) : | string.swift:237:13:237:55 | call to substring(from:) | +| string.swift:239:13:239:13 | tainted : | file://:0:0:0:0 | [summary param] this in lowercased() : | file://:0:0:0:0 | [summary] to write: return (return) in lowercased() : | string.swift:239:13:239:32 | call to lowercased() | +| string.swift:240:13:240:13 | tainted : | file://:0:0:0:0 | [summary param] this in uppercased() : | file://:0:0:0:0 | [summary] to write: return (return) in uppercased() : | string.swift:240:13:240:32 | call to uppercased() | +| string.swift:241:13:241:13 | tainted : | string.swift:101:3:101:63 | [summary param] this in lowercased(with:) : | file://:0:0:0:0 | [summary] to write: return (return) in lowercased(with:) : | string.swift:241:13:241:41 | call to lowercased(with:) | +| string.swift:242:13:242:13 | tainted : | string.swift:102:3:102:63 | [summary param] this in uppercased(with:) : | file://:0:0:0:0 | [summary] to write: return (return) in uppercased(with:) : | string.swift:242:13:242:41 | call to uppercased(with:) | +| string.swift:243:13:243:13 | tainted : | string.swift:103:3:103:64 | [summary param] this in capitalized(with:) : | file://:0:0:0:0 | [summary] to write: return (return) in capitalized(with:) : | string.swift:243:13:243:42 | call to capitalized(with:) | +| string.swift:244:13:244:13 | tainted : | file://:0:0:0:0 | [summary param] this in reversed() : | file://:0:0:0:0 | [summary] to write: return (return) in reversed() : | string.swift:244:13:244:30 | call to reversed() | +| string.swift:246:13:246:13 | tainted : | file://:0:0:0:0 | [summary param] this in split(separator:maxSplits:omittingEmptySubsequences:) : | file://:0:0:0:0 | [summary] to write: return (return) in split(separator:maxSplits:omittingEmptySubsequences:) : | string.swift:246:13:246:41 | call to split(separator:maxSplits:omittingEmptySubsequences:) | +| string.swift:247:13:247:13 | tainted : | file://:0:0:0:0 | [summary param] this in split(maxSplits:omittingEmptySubsequences:whereSeparator:) : | file://:0:0:0:0 | [summary] to write: return (return) in split(maxSplits:omittingEmptySubsequences:whereSeparator:) : | string.swift:247:13:249:4 | call to split(maxSplits:omittingEmptySubsequences:whereSeparator:) | +| string.swift:250:13:250:13 | tainted : | string.swift:105:3:105:71 | [summary param] this in trimmingCharacters(in:) : | file://:0:0:0:0 | [summary] to write: return (return) in trimmingCharacters(in:) : | string.swift:250:13:250:68 | call to trimmingCharacters(in:) | +| string.swift:251:13:251:13 | tainted : | string.swift:107:3:107:138 | [summary param] this in padding(toLength:withPad:startingAt:) : | file://:0:0:0:0 | [summary] to write: return (return) in padding(toLength:withPad:startingAt:) : | string.swift:251:13:251:70 | call to padding(toLength:withPad:startingAt:) | +| string.swift:252:13:252:13 | tainted : | string.swift:108:3:108:80 | [summary param] this in components(separatedBy:) : | file://:0:0:0:0 | [summary] to write: return (return) in components(separatedBy:) : | string.swift:252:13:252:69 | call to components(separatedBy:) | +| string.swift:253:13:253:13 | tainted : | string.swift:108:3:108:80 | [summary param] this in components(separatedBy:) : | file://:0:0:0:0 | [summary] to write: return (return) in components(separatedBy:) : | string.swift:253:13:253:69 | call to components(separatedBy:) : | +| string.swift:254:13:254:13 | tainted : | string.swift:109:3:109:92 | [summary param] this in folding(options:locale:) : | file://:0:0:0:0 | [summary] to write: return (return) in folding(options:locale:) : | string.swift:254:13:254:40 | call to folding(options:locale:) | +| string.swift:255:13:255:13 | tainted : | string.swift:110:3:110:78 | [summary param] this in propertyListFromStringsFileFormat() : | file://:0:0:0:0 | [summary] to write: return (return) in propertyListFromStringsFileFormat() : | string.swift:255:13:255:55 | call to propertyListFromStringsFileFormat() | +| string.swift:256:13:256:13 | tainted : | string.swift:110:3:110:78 | [summary param] this in propertyListFromStringsFileFormat() : | file://:0:0:0:0 | [summary] to write: return (return) in propertyListFromStringsFileFormat() : | string.swift:256:13:256:55 | call to propertyListFromStringsFileFormat() : | +| string.swift:263:13:263:13 | tainted : | string.swift:112:8:112:8 | self : | string.swift:112:3:112:79 | self[return] : | string.swift:263:13:263:13 | [post] tainted : | +| string.swift:304:13:304:13 | tainted : | string.swift:113:3:114:77 | [summary param] this in replacingOccurrences(of:with:options:range:) : | file://:0:0:0:0 | [summary] to write: return (return) in replacingOccurrences(of:with:options:range:) : | string.swift:304:13:304:60 | call to replacingOccurrences(of:with:options:range:) | +| string.swift:305:55:305:63 | call to source2() : | string.swift:113:3:114:77 | [summary param] 1 in replacingOccurrences(of:with:options:range:) : | file://:0:0:0:0 | [summary] to write: return (return) in replacingOccurrences(of:with:options:range:) : | string.swift:305:13:305:64 | call to replacingOccurrences(of:with:options:range:) | +| string.swift:311:13:311:13 | &... : | file://:0:0:0:0 | [summary param] this in remove(at:) : | file://:0:0:0:0 | [summary] to write: return (return) in remove(at:) : | string.swift:311:13:311:44 | call to remove(at:) | +| string.swift:326:13:326:13 | &... : | file://:0:0:0:0 | [summary param] this in removeFirst() : | file://:0:0:0:0 | [summary] to write: return (return) in removeFirst() : | string.swift:326:13:326:30 | call to removeFirst() | +| string.swift:330:13:330:13 | &... : | file://:0:0:0:0 | [summary param] this in removeLast() : | file://:0:0:0:0 | [summary] to write: return (return) in removeLast() : | string.swift:330:13:330:29 | call to removeLast() | +| string.swift:347:62:347:70 | call to source2() : | string.swift:86:12:87:51 | [summary param] 1 in replaceSubrange(_:with:) : | file://:0:0:0:0 | [summary] to write: argument this in replaceSubrange(_:with:) : | string.swift:347:3:347:3 | [post] &... : | +| string.swift:355:36:355:44 | call to source3() : | string.swift:60:2:60:54 | [summary param] 0 in String.init(data:encoding:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(data:encoding:) : | string.swift:355:23:355:77 | call to String.init(data:encoding:) : | +| string.swift:361:30:361:38 | call to source3() : | file://:0:0:0:0 | [summary param] 0 in String.init(decoding:as:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(decoding:as:) : | string.swift:361:13:361:54 | call to String.init(decoding:as:) | +| string.swift:403:22:403:22 | tainted : | string.swift:111:3:111:74 | [summary param] this in cString(using:) : | file://:0:0:0:0 | [summary] to write: return (return) in cString(using:) : | string.swift:403:22:403:65 | call to cString(using:) : | +| string.swift:470:27:470:27 | taintedUInt8Values : | string.swift:71:3:71:102 | [summary param] 0 in String.init(bytes:encoding:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(bytes:encoding:) : | string.swift:470:13:470:77 | call to String.init(bytes:encoding:) : | +| string.swift:473:29:473:29 | taintedUInt8Values : | file://:0:0:0:0 | [summary param] 0 in String.init(cString:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(cString:) : | string.swift:473:13:473:47 | call to String.init(cString:) | +| string.swift:526:29:526:29 | taintedCCharValues : | file://:0:0:0:0 | [summary param] 0 in String.init(cString:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(cString:) : | string.swift:526:13:526:47 | call to String.init(cString:) | +| string.swift:560:20:560:20 | sub1 : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(_:) : | string.swift:560:13:560:24 | call to String.init(_:) | +| string.swift:562:14:562:14 | tainted : | file://:0:0:0:0 | [summary param] this in prefix(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in prefix(_:) : | string.swift:562:14:562:31 | call to prefix(_:) : | +| string.swift:564:20:564:20 | sub2 : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(_:) : | string.swift:564:13:564:24 | call to String.init(_:) | +| string.swift:566:14:566:14 | tainted : | file://:0:0:0:0 | [summary param] this in prefix(through:) : | file://:0:0:0:0 | [summary] to write: return (return) in prefix(through:) : | string.swift:566:14:566:54 | call to prefix(through:) : | +| string.swift:568:20:568:20 | sub3 : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(_:) : | string.swift:568:13:568:24 | call to String.init(_:) | +| string.swift:570:14:570:14 | tainted : | file://:0:0:0:0 | [summary param] this in prefix(upTo:) : | file://:0:0:0:0 | [summary] to write: return (return) in prefix(upTo:) : | string.swift:570:14:570:51 | call to prefix(upTo:) : | +| string.swift:572:20:572:20 | sub4 : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(_:) : | string.swift:572:13:572:24 | call to String.init(_:) | +| string.swift:574:14:574:14 | tainted : | file://:0:0:0:0 | [summary param] this in suffix(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in suffix(_:) : | string.swift:574:14:574:31 | call to suffix(_:) : | +| string.swift:576:20:576:20 | sub5 : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(_:) : | string.swift:576:13:576:24 | call to String.init(_:) | +| string.swift:578:14:578:14 | tainted : | file://:0:0:0:0 | [summary param] this in suffix(from:) : | file://:0:0:0:0 | [summary] to write: return (return) in suffix(from:) : | string.swift:578:14:578:53 | call to suffix(from:) : | +| string.swift:580:20:580:20 | sub6 : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(_:) : | string.swift:580:13:580:24 | call to String.init(_:) | +| string.swift:636:20:636:27 | call to source() : | file://:0:0:0:0 | [summary param] 0 in String.init(_:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(_:) : | string.swift:636:13:636:28 | call to String.init(_:) | +| string.swift:640:32:640:39 | call to source() : | file://:0:0:0:0 | [summary param] 0 in String.init(describing:) : | file://:0:0:0:0 | [summary] to write: return (return) in String.init(describing:) : | string.swift:640:13:640:40 | call to String.init(describing:) | | ui.swift:55:10:55:10 | tainted : | ui.swift:16:9:16:9 | self : | file://:0:0:0:0 | .url : | ui.swift:55:10:55:18 | .url | | ui.swift:64:10:64:10 | tainted : | ui.swift:32:13:32:13 | self : | file://:0:0:0:0 | .userActivities : | ui.swift:64:10:64:18 | .userActivities | | ui.swift:68:10:68:10 | tainted : | ui.swift:34:13:34:13 | self : | file://:0:0:0:0 | .urlContexts : | ui.swift:68:10:68:18 | .urlContexts | @@ -2056,102 +2084,105 @@ subpaths | nsmutabledata.swift:41:15:41:15 | nsMutableDataTainted4 | nsmutabledata.swift:40:66:40:73 | call to source() : | nsmutabledata.swift:41:15:41:15 | nsMutableDataTainted4 | result | | nsmutabledata.swift:45:15:45:15 | nsMutableDataTainted5 | nsmutabledata.swift:44:35:44:42 | call to source() : | nsmutabledata.swift:45:15:45:15 | nsMutableDataTainted5 | result | | nsmutabledata.swift:49:15:49:37 | .mutableBytes | nsmutabledata.swift:48:33:48:40 | call to source() : | nsmutabledata.swift:49:15:49:37 | .mutableBytes | result | -| string.swift:134:13:134:13 | "..." | string.swift:132:11:132:18 | call to source() : | string.swift:134:13:134:13 | "..." | result | -| string.swift:136:13:136:13 | "..." | string.swift:132:11:132:18 | call to source() : | string.swift:136:13:136:13 | "..." | result | -| string.swift:138:13:138:13 | "..." | string.swift:132:11:132:18 | call to source() : | string.swift:138:13:138:13 | "..." | result | -| string.swift:144:13:144:13 | "..." | string.swift:132:11:132:18 | call to source() : | string.swift:144:13:144:13 | "..." | result | -| string.swift:146:13:146:13 | "..." | string.swift:132:11:132:18 | call to source() : | string.swift:146:13:146:13 | "..." | result | -| string.swift:159:13:159:13 | tainted | string.swift:156:17:156:25 | call to source2() : | string.swift:159:13:159:13 | tainted | result | -| string.swift:162:13:162:21 | ... .+(_:_:) ... | string.swift:156:17:156:25 | call to source2() : | string.swift:162:13:162:21 | ... .+(_:_:) ... | result | -| string.swift:163:13:163:23 | ... .+(_:_:) ... | string.swift:156:17:156:25 | call to source2() : | string.swift:163:13:163:23 | ... .+(_:_:) ... | result | -| string.swift:164:13:164:23 | ... .+(_:_:) ... | string.swift:156:17:156:25 | call to source2() : | string.swift:164:13:164:23 | ... .+(_:_:) ... | result | -| string.swift:167:13:167:29 | ... .+(_:_:) ... | string.swift:156:17:156:25 | call to source2() : | string.swift:167:13:167:29 | ... .+(_:_:) ... | result | -| string.swift:170:13:170:36 | call to appending(_:) | string.swift:156:17:156:25 | call to source2() : | string.swift:170:13:170:36 | call to appending(_:) | result | -| string.swift:171:13:171:36 | call to appending(_:) | string.swift:156:17:156:25 | call to source2() : | string.swift:171:13:171:36 | call to appending(_:) | result | -| string.swift:172:13:172:38 | call to appending(_:) | string.swift:156:17:156:25 | call to source2() : | string.swift:172:13:172:38 | call to appending(_:) | result | -| string.swift:186:13:186:13 | str2 | string.swift:185:15:185:23 | call to source2() : | string.swift:186:13:186:13 | str2 | result | -| string.swift:193:13:193:13 | str3 | string.swift:192:27:192:35 | call to source2() : | string.swift:193:13:193:13 | str3 | result | -| string.swift:200:13:200:13 | str4 | string.swift:199:14:199:22 | call to source2() : | string.swift:200:13:200:13 | str4 | result | -| string.swift:207:13:207:13 | str5 | string.swift:206:27:206:35 | call to source2() : | string.swift:207:13:207:13 | str5 | result | -| string.swift:216:13:216:27 | call to String.init(_:) | string.swift:212:17:212:25 | call to source2() : | string.swift:216:13:216:27 | call to String.init(_:) | result | -| string.swift:217:13:217:30 | call to String.init(_:) | string.swift:213:20:213:27 | call to source() : | string.swift:217:13:217:30 | call to String.init(_:) | result | -| string.swift:219:13:219:44 | call to String.init(format:_:) | string.swift:212:17:212:25 | call to source2() : | string.swift:219:13:219:44 | call to String.init(format:_:) | result | -| string.swift:220:13:220:50 | call to String.init(format:arguments:) | string.swift:212:17:212:25 | call to source2() : | string.swift:220:13:220:50 | call to String.init(format:arguments:) | result | -| string.swift:221:13:221:57 | call to String.init(format:locale:_:) | string.swift:212:17:212:25 | call to source2() : | string.swift:221:13:221:57 | call to String.init(format:locale:_:) | result | -| string.swift:222:13:222:63 | call to String.init(format:locale:arguments:) | string.swift:212:17:212:25 | call to source2() : | string.swift:222:13:222:63 | call to String.init(format:locale:arguments:) | result | -| string.swift:223:13:223:62 | call to localizedStringWithFormat(_:_:) | string.swift:212:17:212:25 | call to source2() : | string.swift:223:13:223:62 | call to localizedStringWithFormat(_:_:) | result | -| string.swift:228:13:228:48 | call to String.init(repeating:count:) | string.swift:212:17:212:25 | call to source2() : | string.swift:228:13:228:48 | call to String.init(repeating:count:) | result | -| string.swift:230:13:230:33 | call to dropFirst(_:) | string.swift:212:17:212:25 | call to source2() : | string.swift:230:13:230:33 | call to dropFirst(_:) | result | -| string.swift:231:13:231:32 | call to dropLast(_:) | string.swift:212:17:212:25 | call to source2() : | string.swift:231:13:231:32 | call to dropLast(_:) | result | -| string.swift:232:13:232:55 | call to substring(from:) | string.swift:212:17:212:25 | call to source2() : | string.swift:232:13:232:55 | call to substring(from:) | result | -| string.swift:234:13:234:32 | call to lowercased() | string.swift:212:17:212:25 | call to source2() : | string.swift:234:13:234:32 | call to lowercased() | result | -| string.swift:235:13:235:32 | call to uppercased() | string.swift:212:17:212:25 | call to source2() : | string.swift:235:13:235:32 | call to uppercased() | result | -| string.swift:236:13:236:41 | call to lowercased(with:) | string.swift:212:17:212:25 | call to source2() : | string.swift:236:13:236:41 | call to lowercased(with:) | result | -| string.swift:237:13:237:41 | call to uppercased(with:) | string.swift:212:17:212:25 | call to source2() : | string.swift:237:13:237:41 | call to uppercased(with:) | result | -| string.swift:238:13:238:42 | call to capitalized(with:) | string.swift:212:17:212:25 | call to source2() : | string.swift:238:13:238:42 | call to capitalized(with:) | result | -| string.swift:239:13:239:30 | call to reversed() | string.swift:212:17:212:25 | call to source2() : | string.swift:239:13:239:30 | call to reversed() | result | -| string.swift:241:13:241:41 | call to split(separator:maxSplits:omittingEmptySubsequences:) | string.swift:212:17:212:25 | call to source2() : | string.swift:241:13:241:41 | call to split(separator:maxSplits:omittingEmptySubsequences:) | result | -| string.swift:242:13:244:4 | call to split(maxSplits:omittingEmptySubsequences:whereSeparator:) | string.swift:212:17:212:25 | call to source2() : | string.swift:242:13:244:4 | call to split(maxSplits:omittingEmptySubsequences:whereSeparator:) | result | -| string.swift:245:13:245:68 | call to trimmingCharacters(in:) | string.swift:212:17:212:25 | call to source2() : | string.swift:245:13:245:68 | call to trimmingCharacters(in:) | result | -| string.swift:246:13:246:70 | call to padding(toLength:withPad:startingAt:) | string.swift:212:17:212:25 | call to source2() : | string.swift:246:13:246:70 | call to padding(toLength:withPad:startingAt:) | result | -| string.swift:247:13:247:69 | call to components(separatedBy:) | string.swift:212:17:212:25 | call to source2() : | string.swift:247:13:247:69 | call to components(separatedBy:) | result | -| string.swift:248:13:248:72 | ...[...] | string.swift:212:17:212:25 | call to source2() : | string.swift:248:13:248:72 | ...[...] | result | -| string.swift:249:13:249:40 | call to folding(options:locale:) | string.swift:212:17:212:25 | call to source2() : | string.swift:249:13:249:40 | call to folding(options:locale:) | result | -| string.swift:250:13:250:55 | call to propertyListFromStringsFileFormat() | string.swift:212:17:212:25 | call to source2() : | string.swift:250:13:250:55 | call to propertyListFromStringsFileFormat() | result | -| string.swift:251:13:251:63 | ...! | string.swift:212:17:212:25 | call to source2() : | string.swift:251:13:251:63 | ...! | result | -| string.swift:270:13:270:21 | .description | string.swift:212:17:212:25 | call to source2() : | string.swift:270:13:270:21 | .description | result | -| string.swift:272:13:272:21 | .debugDescription | string.swift:212:17:212:25 | call to source2() : | string.swift:272:13:272:21 | .debugDescription | result | -| string.swift:274:13:274:21 | .utf8 | string.swift:212:17:212:25 | call to source2() : | string.swift:274:13:274:21 | .utf8 | result | -| string.swift:276:13:276:21 | .utf16 | string.swift:212:17:212:25 | call to source2() : | string.swift:276:13:276:21 | .utf16 | result | -| string.swift:278:13:278:21 | .unicodeScalars | string.swift:212:17:212:25 | call to source2() : | string.swift:278:13:278:21 | .unicodeScalars | result | -| string.swift:280:13:280:21 | .utf8CString | string.swift:212:17:212:25 | call to source2() : | string.swift:280:13:280:21 | .utf8CString | result | -| string.swift:282:13:282:21 | .lazy | string.swift:212:17:212:25 | call to source2() : | string.swift:282:13:282:21 | .lazy | result | -| string.swift:284:13:284:21 | .capitalized | string.swift:212:17:212:25 | call to source2() : | string.swift:284:13:284:21 | .capitalized | result | -| string.swift:286:13:286:21 | .localizedCapitalized | string.swift:212:17:212:25 | call to source2() : | string.swift:286:13:286:21 | .localizedCapitalized | result | -| string.swift:288:13:288:21 | .localizedLowercase | string.swift:212:17:212:25 | call to source2() : | string.swift:288:13:288:21 | .localizedLowercase | result | -| string.swift:290:13:290:21 | .localizedUppercase | string.swift:212:17:212:25 | call to source2() : | string.swift:290:13:290:21 | .localizedUppercase | result | -| string.swift:292:13:292:21 | .decomposedStringWithCanonicalMapping | string.swift:212:17:212:25 | call to source2() : | string.swift:292:13:292:21 | .decomposedStringWithCanonicalMapping | result | -| string.swift:294:13:294:21 | .precomposedStringWithCompatibilityMapping | string.swift:212:17:212:25 | call to source2() : | string.swift:294:13:294:21 | .precomposedStringWithCompatibilityMapping | result | -| string.swift:296:13:296:44 | ...! | string.swift:212:17:212:25 | call to source2() : | string.swift:296:13:296:44 | ...! | result | -| string.swift:301:13:301:13 | str1 | string.swift:300:14:300:22 | call to source2() : | string.swift:301:13:301:13 | str1 | result | -| string.swift:302:13:302:44 | call to remove(at:) | string.swift:300:14:300:22 | call to source2() : | string.swift:302:13:302:44 | call to remove(at:) | result | -| string.swift:303:13:303:13 | str1 | string.swift:300:14:300:22 | call to source2() : | string.swift:303:13:303:13 | str1 | result | -| string.swift:306:13:306:13 | str2 | string.swift:305:14:305:22 | call to source2() : | string.swift:306:13:306:13 | str2 | result | -| string.swift:308:13:308:13 | str2 | string.swift:305:14:305:22 | call to source2() : | string.swift:308:13:308:13 | str2 | result | -| string.swift:311:13:311:13 | str3 | string.swift:310:14:310:22 | call to source2() : | string.swift:311:13:311:13 | str3 | result | -| string.swift:313:13:313:13 | str3 | string.swift:310:14:310:22 | call to source2() : | string.swift:313:13:313:13 | str3 | result | -| string.swift:316:13:316:13 | str4 | string.swift:315:14:315:22 | call to source2() : | string.swift:316:13:316:13 | str4 | result | -| string.swift:317:13:317:30 | call to removeFirst() | string.swift:315:14:315:22 | call to source2() : | string.swift:317:13:317:30 | call to removeFirst() | result | -| string.swift:318:13:318:13 | str4 | string.swift:315:14:315:22 | call to source2() : | string.swift:318:13:318:13 | str4 | result | -| string.swift:320:13:320:13 | str4 | string.swift:315:14:315:22 | call to source2() : | string.swift:320:13:320:13 | str4 | result | -| string.swift:321:13:321:29 | call to removeLast() | string.swift:315:14:315:22 | call to source2() : | string.swift:321:13:321:29 | call to removeLast() | result | -| string.swift:322:13:322:13 | str4 | string.swift:315:14:315:22 | call to source2() : | string.swift:322:13:322:13 | str4 | result | -| string.swift:324:13:324:13 | str4 | string.swift:315:14:315:22 | call to source2() : | string.swift:324:13:324:13 | str4 | result | -| string.swift:327:13:327:13 | str5 | string.swift:326:14:326:22 | call to source2() : | string.swift:327:13:327:13 | str5 | result | -| string.swift:329:13:329:13 | str5 | string.swift:326:14:326:22 | call to source2() : | string.swift:329:13:329:13 | str5 | result | -| string.swift:332:13:332:13 | str6 | string.swift:331:14:331:22 | call to source2() : | string.swift:332:13:332:13 | str6 | result | -| string.swift:334:13:334:13 | str6 | string.swift:331:14:331:22 | call to source2() : | string.swift:334:13:334:13 | str6 | result | -| string.swift:344:12:344:25 | ...! | string.swift:341:36:341:44 | call to source3() : | string.swift:344:12:344:25 | ...! | result | -| string.swift:347:13:347:54 | call to String.init(decoding:as:) | string.swift:347:30:347:38 | call to source3() : | string.swift:347:13:347:54 | call to String.init(decoding:as:) | result | -| string.swift:390:13:390:13 | arrayString2 | string.swift:352:17:352:25 | call to source2() : | string.swift:390:13:390:13 | arrayString2 | result | -| string.swift:456:13:456:78 | ...! | string.swift:436:28:436:36 | call to source4() : | string.swift:456:13:456:78 | ...! | result | -| string.swift:459:13:459:47 | call to String.init(cString:) | string.swift:436:28:436:36 | call to source4() : | string.swift:459:13:459:47 | call to String.init(cString:) | result | -| string.swift:512:13:512:47 | call to String.init(cString:) | string.swift:492:37:492:45 | call to source5() : | string.swift:512:13:512:47 | call to String.init(cString:) | result | -| string.swift:542:13:542:21 | call to source7() | string.swift:542:13:542:21 | call to source7() | string.swift:542:13:542:21 | call to source7() | result | -| string.swift:545:13:545:13 | sub1 | string.swift:540:17:540:25 | call to source2() : | string.swift:545:13:545:13 | sub1 | result | -| string.swift:546:13:546:24 | call to String.init(_:) | string.swift:540:17:540:25 | call to source2() : | string.swift:546:13:546:24 | call to String.init(_:) | result | -| string.swift:549:13:549:13 | sub2 | string.swift:540:17:540:25 | call to source2() : | string.swift:549:13:549:13 | sub2 | result | -| string.swift:550:13:550:24 | call to String.init(_:) | string.swift:540:17:540:25 | call to source2() : | string.swift:550:13:550:24 | call to String.init(_:) | result | -| string.swift:553:13:553:13 | sub3 | string.swift:540:17:540:25 | call to source2() : | string.swift:553:13:553:13 | sub3 | result | -| string.swift:554:13:554:24 | call to String.init(_:) | string.swift:540:17:540:25 | call to source2() : | string.swift:554:13:554:24 | call to String.init(_:) | result | -| string.swift:557:13:557:13 | sub4 | string.swift:540:17:540:25 | call to source2() : | string.swift:557:13:557:13 | sub4 | result | -| string.swift:558:13:558:24 | call to String.init(_:) | string.swift:540:17:540:25 | call to source2() : | string.swift:558:13:558:24 | call to String.init(_:) | result | -| string.swift:561:13:561:13 | sub5 | string.swift:540:17:540:25 | call to source2() : | string.swift:561:13:561:13 | sub5 | result | -| string.swift:562:13:562:24 | call to String.init(_:) | string.swift:540:17:540:25 | call to source2() : | string.swift:562:13:562:24 | call to String.init(_:) | result | -| string.swift:565:13:565:13 | sub6 | string.swift:540:17:540:25 | call to source2() : | string.swift:565:13:565:13 | sub6 | result | -| string.swift:566:13:566:24 | call to String.init(_:) | string.swift:540:17:540:25 | call to source2() : | string.swift:566:13:566:24 | call to String.init(_:) | result | -| string.swift:622:13:622:28 | call to String.init(_:) | string.swift:622:20:622:27 | call to source() : | string.swift:622:13:622:28 | call to String.init(_:) | result | -| string.swift:626:13:626:40 | call to String.init(describing:) | string.swift:626:32:626:39 | call to source() : | string.swift:626:13:626:40 | call to String.init(describing:) | result | +| string.swift:139:13:139:13 | "..." | string.swift:137:11:137:18 | call to source() : | string.swift:139:13:139:13 | "..." | result | +| string.swift:141:13:141:13 | "..." | string.swift:137:11:137:18 | call to source() : | string.swift:141:13:141:13 | "..." | result | +| string.swift:143:13:143:13 | "..." | string.swift:137:11:137:18 | call to source() : | string.swift:143:13:143:13 | "..." | result | +| string.swift:149:13:149:13 | "..." | string.swift:137:11:137:18 | call to source() : | string.swift:149:13:149:13 | "..." | result | +| string.swift:151:13:151:13 | "..." | string.swift:137:11:137:18 | call to source() : | string.swift:151:13:151:13 | "..." | result | +| string.swift:164:13:164:13 | tainted | string.swift:161:17:161:25 | call to source2() : | string.swift:164:13:164:13 | tainted | result | +| string.swift:167:13:167:21 | ... .+(_:_:) ... | string.swift:161:17:161:25 | call to source2() : | string.swift:167:13:167:21 | ... .+(_:_:) ... | result | +| string.swift:168:13:168:23 | ... .+(_:_:) ... | string.swift:161:17:161:25 | call to source2() : | string.swift:168:13:168:23 | ... .+(_:_:) ... | result | +| string.swift:169:13:169:23 | ... .+(_:_:) ... | string.swift:161:17:161:25 | call to source2() : | string.swift:169:13:169:23 | ... .+(_:_:) ... | result | +| string.swift:172:13:172:29 | ... .+(_:_:) ... | string.swift:161:17:161:25 | call to source2() : | string.swift:172:13:172:29 | ... .+(_:_:) ... | result | +| string.swift:175:13:175:36 | call to appending(_:) | string.swift:161:17:161:25 | call to source2() : | string.swift:175:13:175:36 | call to appending(_:) | result | +| string.swift:176:13:176:36 | call to appending(_:) | string.swift:161:17:161:25 | call to source2() : | string.swift:176:13:176:36 | call to appending(_:) | result | +| string.swift:177:13:177:38 | call to appending(_:) | string.swift:161:17:161:25 | call to source2() : | string.swift:177:13:177:38 | call to appending(_:) | result | +| string.swift:191:13:191:13 | str2 | string.swift:190:15:190:23 | call to source2() : | string.swift:191:13:191:13 | str2 | result | +| string.swift:198:13:198:13 | str3 | string.swift:197:27:197:35 | call to source2() : | string.swift:198:13:198:13 | str3 | result | +| string.swift:205:13:205:13 | str4 | string.swift:204:14:204:22 | call to source2() : | string.swift:205:13:205:13 | str4 | result | +| string.swift:212:13:212:13 | str5 | string.swift:211:27:211:35 | call to source2() : | string.swift:212:13:212:13 | str5 | result | +| string.swift:221:13:221:27 | call to String.init(_:) | string.swift:217:17:217:25 | call to source2() : | string.swift:221:13:221:27 | call to String.init(_:) | result | +| string.swift:222:13:222:30 | call to String.init(_:) | string.swift:218:20:218:27 | call to source() : | string.swift:222:13:222:30 | call to String.init(_:) | result | +| string.swift:224:13:224:44 | call to String.init(format:_:) | string.swift:217:17:217:25 | call to source2() : | string.swift:224:13:224:44 | call to String.init(format:_:) | result | +| string.swift:225:13:225:50 | call to String.init(format:arguments:) | string.swift:217:17:217:25 | call to source2() : | string.swift:225:13:225:50 | call to String.init(format:arguments:) | result | +| string.swift:226:13:226:57 | call to String.init(format:locale:_:) | string.swift:217:17:217:25 | call to source2() : | string.swift:226:13:226:57 | call to String.init(format:locale:_:) | result | +| string.swift:227:13:227:63 | call to String.init(format:locale:arguments:) | string.swift:217:17:217:25 | call to source2() : | string.swift:227:13:227:63 | call to String.init(format:locale:arguments:) | result | +| string.swift:228:13:228:62 | call to localizedStringWithFormat(_:_:) | string.swift:217:17:217:25 | call to source2() : | string.swift:228:13:228:62 | call to localizedStringWithFormat(_:_:) | result | +| string.swift:233:13:233:48 | call to String.init(repeating:count:) | string.swift:217:17:217:25 | call to source2() : | string.swift:233:13:233:48 | call to String.init(repeating:count:) | result | +| string.swift:235:13:235:33 | call to dropFirst(_:) | string.swift:217:17:217:25 | call to source2() : | string.swift:235:13:235:33 | call to dropFirst(_:) | result | +| string.swift:236:13:236:32 | call to dropLast(_:) | string.swift:217:17:217:25 | call to source2() : | string.swift:236:13:236:32 | call to dropLast(_:) | result | +| string.swift:237:13:237:55 | call to substring(from:) | string.swift:217:17:217:25 | call to source2() : | string.swift:237:13:237:55 | call to substring(from:) | result | +| string.swift:239:13:239:32 | call to lowercased() | string.swift:217:17:217:25 | call to source2() : | string.swift:239:13:239:32 | call to lowercased() | result | +| string.swift:240:13:240:32 | call to uppercased() | string.swift:217:17:217:25 | call to source2() : | string.swift:240:13:240:32 | call to uppercased() | result | +| string.swift:241:13:241:41 | call to lowercased(with:) | string.swift:217:17:217:25 | call to source2() : | string.swift:241:13:241:41 | call to lowercased(with:) | result | +| string.swift:242:13:242:41 | call to uppercased(with:) | string.swift:217:17:217:25 | call to source2() : | string.swift:242:13:242:41 | call to uppercased(with:) | result | +| string.swift:243:13:243:42 | call to capitalized(with:) | string.swift:217:17:217:25 | call to source2() : | string.swift:243:13:243:42 | call to capitalized(with:) | result | +| string.swift:244:13:244:30 | call to reversed() | string.swift:217:17:217:25 | call to source2() : | string.swift:244:13:244:30 | call to reversed() | result | +| string.swift:246:13:246:41 | call to split(separator:maxSplits:omittingEmptySubsequences:) | string.swift:217:17:217:25 | call to source2() : | string.swift:246:13:246:41 | call to split(separator:maxSplits:omittingEmptySubsequences:) | result | +| string.swift:247:13:249:4 | call to split(maxSplits:omittingEmptySubsequences:whereSeparator:) | string.swift:217:17:217:25 | call to source2() : | string.swift:247:13:249:4 | call to split(maxSplits:omittingEmptySubsequences:whereSeparator:) | result | +| string.swift:250:13:250:68 | call to trimmingCharacters(in:) | string.swift:217:17:217:25 | call to source2() : | string.swift:250:13:250:68 | call to trimmingCharacters(in:) | result | +| string.swift:251:13:251:70 | call to padding(toLength:withPad:startingAt:) | string.swift:217:17:217:25 | call to source2() : | string.swift:251:13:251:70 | call to padding(toLength:withPad:startingAt:) | result | +| string.swift:252:13:252:69 | call to components(separatedBy:) | string.swift:217:17:217:25 | call to source2() : | string.swift:252:13:252:69 | call to components(separatedBy:) | result | +| string.swift:253:13:253:72 | ...[...] | string.swift:217:17:217:25 | call to source2() : | string.swift:253:13:253:72 | ...[...] | result | +| string.swift:254:13:254:40 | call to folding(options:locale:) | string.swift:217:17:217:25 | call to source2() : | string.swift:254:13:254:40 | call to folding(options:locale:) | result | +| string.swift:255:13:255:55 | call to propertyListFromStringsFileFormat() | string.swift:217:17:217:25 | call to source2() : | string.swift:255:13:255:55 | call to propertyListFromStringsFileFormat() | result | +| string.swift:256:13:256:63 | ...! | string.swift:217:17:217:25 | call to source2() : | string.swift:256:13:256:63 | ...! | result | +| string.swift:275:13:275:21 | .description | string.swift:217:17:217:25 | call to source2() : | string.swift:275:13:275:21 | .description | result | +| string.swift:277:13:277:21 | .debugDescription | string.swift:217:17:217:25 | call to source2() : | string.swift:277:13:277:21 | .debugDescription | result | +| string.swift:279:13:279:21 | .utf8 | string.swift:217:17:217:25 | call to source2() : | string.swift:279:13:279:21 | .utf8 | result | +| string.swift:281:13:281:21 | .utf16 | string.swift:217:17:217:25 | call to source2() : | string.swift:281:13:281:21 | .utf16 | result | +| string.swift:283:13:283:21 | .unicodeScalars | string.swift:217:17:217:25 | call to source2() : | string.swift:283:13:283:21 | .unicodeScalars | result | +| string.swift:285:13:285:21 | .utf8CString | string.swift:217:17:217:25 | call to source2() : | string.swift:285:13:285:21 | .utf8CString | result | +| string.swift:287:13:287:21 | .lazy | string.swift:217:17:217:25 | call to source2() : | string.swift:287:13:287:21 | .lazy | result | +| string.swift:289:13:289:21 | .capitalized | string.swift:217:17:217:25 | call to source2() : | string.swift:289:13:289:21 | .capitalized | result | +| string.swift:291:13:291:21 | .localizedCapitalized | string.swift:217:17:217:25 | call to source2() : | string.swift:291:13:291:21 | .localizedCapitalized | result | +| string.swift:293:13:293:21 | .localizedLowercase | string.swift:217:17:217:25 | call to source2() : | string.swift:293:13:293:21 | .localizedLowercase | result | +| string.swift:295:13:295:21 | .localizedUppercase | string.swift:217:17:217:25 | call to source2() : | string.swift:295:13:295:21 | .localizedUppercase | result | +| string.swift:297:13:297:21 | .decomposedStringWithCanonicalMapping | string.swift:217:17:217:25 | call to source2() : | string.swift:297:13:297:21 | .decomposedStringWithCanonicalMapping | result | +| string.swift:299:13:299:21 | .precomposedStringWithCompatibilityMapping | string.swift:217:17:217:25 | call to source2() : | string.swift:299:13:299:21 | .precomposedStringWithCompatibilityMapping | result | +| string.swift:301:13:301:44 | ...! | string.swift:217:17:217:25 | call to source2() : | string.swift:301:13:301:44 | ...! | result | +| string.swift:304:13:304:60 | call to replacingOccurrences(of:with:options:range:) | string.swift:217:17:217:25 | call to source2() : | string.swift:304:13:304:60 | call to replacingOccurrences(of:with:options:range:) | result | +| string.swift:305:13:305:64 | call to replacingOccurrences(of:with:options:range:) | string.swift:305:55:305:63 | call to source2() : | string.swift:305:13:305:64 | call to replacingOccurrences(of:with:options:range:) | result | +| string.swift:310:13:310:13 | str1 | string.swift:309:14:309:22 | call to source2() : | string.swift:310:13:310:13 | str1 | result | +| string.swift:311:13:311:44 | call to remove(at:) | string.swift:309:14:309:22 | call to source2() : | string.swift:311:13:311:44 | call to remove(at:) | result | +| string.swift:312:13:312:13 | str1 | string.swift:309:14:309:22 | call to source2() : | string.swift:312:13:312:13 | str1 | result | +| string.swift:315:13:315:13 | str2 | string.swift:314:14:314:22 | call to source2() : | string.swift:315:13:315:13 | str2 | result | +| string.swift:317:13:317:13 | str2 | string.swift:314:14:314:22 | call to source2() : | string.swift:317:13:317:13 | str2 | result | +| string.swift:320:13:320:13 | str3 | string.swift:319:14:319:22 | call to source2() : | string.swift:320:13:320:13 | str3 | result | +| string.swift:322:13:322:13 | str3 | string.swift:319:14:319:22 | call to source2() : | string.swift:322:13:322:13 | str3 | result | +| string.swift:325:13:325:13 | str4 | string.swift:324:14:324:22 | call to source2() : | string.swift:325:13:325:13 | str4 | result | +| string.swift:326:13:326:30 | call to removeFirst() | string.swift:324:14:324:22 | call to source2() : | string.swift:326:13:326:30 | call to removeFirst() | result | +| string.swift:327:13:327:13 | str4 | string.swift:324:14:324:22 | call to source2() : | string.swift:327:13:327:13 | str4 | result | +| string.swift:329:13:329:13 | str4 | string.swift:324:14:324:22 | call to source2() : | string.swift:329:13:329:13 | str4 | result | +| string.swift:330:13:330:29 | call to removeLast() | string.swift:324:14:324:22 | call to source2() : | string.swift:330:13:330:29 | call to removeLast() | result | +| string.swift:331:13:331:13 | str4 | string.swift:324:14:324:22 | call to source2() : | string.swift:331:13:331:13 | str4 | result | +| string.swift:333:13:333:13 | str4 | string.swift:324:14:324:22 | call to source2() : | string.swift:333:13:333:13 | str4 | result | +| string.swift:336:13:336:13 | str5 | string.swift:335:14:335:22 | call to source2() : | string.swift:336:13:336:13 | str5 | result | +| string.swift:338:13:338:13 | str5 | string.swift:335:14:335:22 | call to source2() : | string.swift:338:13:338:13 | str5 | result | +| string.swift:341:13:341:13 | str6 | string.swift:340:14:340:22 | call to source2() : | string.swift:341:13:341:13 | str6 | result | +| string.swift:343:13:343:13 | str6 | string.swift:340:14:340:22 | call to source2() : | string.swift:343:13:343:13 | str6 | result | +| string.swift:348:13:348:13 | str7 | string.swift:347:62:347:70 | call to source2() : | string.swift:348:13:348:13 | str7 | result | +| string.swift:358:12:358:25 | ...! | string.swift:355:36:355:44 | call to source3() : | string.swift:358:12:358:25 | ...! | result | +| string.swift:361:13:361:54 | call to String.init(decoding:as:) | string.swift:361:30:361:38 | call to source3() : | string.swift:361:13:361:54 | call to String.init(decoding:as:) | result | +| string.swift:404:13:404:13 | arrayString2 | string.swift:366:17:366:25 | call to source2() : | string.swift:404:13:404:13 | arrayString2 | result | +| string.swift:470:13:470:78 | ...! | string.swift:450:28:450:36 | call to source4() : | string.swift:470:13:470:78 | ...! | result | +| string.swift:473:13:473:47 | call to String.init(cString:) | string.swift:450:28:450:36 | call to source4() : | string.swift:473:13:473:47 | call to String.init(cString:) | result | +| string.swift:526:13:526:47 | call to String.init(cString:) | string.swift:506:37:506:45 | call to source5() : | string.swift:526:13:526:47 | call to String.init(cString:) | result | +| string.swift:556:13:556:21 | call to source7() | string.swift:556:13:556:21 | call to source7() | string.swift:556:13:556:21 | call to source7() | result | +| string.swift:559:13:559:13 | sub1 | string.swift:554:17:554:25 | call to source2() : | string.swift:559:13:559:13 | sub1 | result | +| string.swift:560:13:560:24 | call to String.init(_:) | string.swift:554:17:554:25 | call to source2() : | string.swift:560:13:560:24 | call to String.init(_:) | result | +| string.swift:563:13:563:13 | sub2 | string.swift:554:17:554:25 | call to source2() : | string.swift:563:13:563:13 | sub2 | result | +| string.swift:564:13:564:24 | call to String.init(_:) | string.swift:554:17:554:25 | call to source2() : | string.swift:564:13:564:24 | call to String.init(_:) | result | +| string.swift:567:13:567:13 | sub3 | string.swift:554:17:554:25 | call to source2() : | string.swift:567:13:567:13 | sub3 | result | +| string.swift:568:13:568:24 | call to String.init(_:) | string.swift:554:17:554:25 | call to source2() : | string.swift:568:13:568:24 | call to String.init(_:) | result | +| string.swift:571:13:571:13 | sub4 | string.swift:554:17:554:25 | call to source2() : | string.swift:571:13:571:13 | sub4 | result | +| string.swift:572:13:572:24 | call to String.init(_:) | string.swift:554:17:554:25 | call to source2() : | string.swift:572:13:572:24 | call to String.init(_:) | result | +| string.swift:575:13:575:13 | sub5 | string.swift:554:17:554:25 | call to source2() : | string.swift:575:13:575:13 | sub5 | result | +| string.swift:576:13:576:24 | call to String.init(_:) | string.swift:554:17:554:25 | call to source2() : | string.swift:576:13:576:24 | call to String.init(_:) | result | +| string.swift:579:13:579:13 | sub6 | string.swift:554:17:554:25 | call to source2() : | string.swift:579:13:579:13 | sub6 | result | +| string.swift:580:13:580:24 | call to String.init(_:) | string.swift:554:17:554:25 | call to source2() : | string.swift:580:13:580:24 | call to String.init(_:) | result | +| string.swift:636:13:636:28 | call to String.init(_:) | string.swift:636:20:636:27 | call to source() : | string.swift:636:13:636:28 | call to String.init(_:) | result | +| string.swift:640:13:640:40 | call to String.init(describing:) | string.swift:640:32:640:39 | call to source() : | string.swift:640:13:640:40 | call to String.init(describing:) | result | | subscript.swift:13:15:13:25 | ...[...] | subscript.swift:13:15:13:22 | call to source() : | subscript.swift:13:15:13:25 | ...[...] | result | | subscript.swift:14:15:14:26 | ...[...] | subscript.swift:14:15:14:23 | call to source2() : | subscript.swift:14:15:14:26 | ...[...] | result | | try.swift:9:13:9:24 | try ... | try.swift:9:17:9:24 | call to source() : | try.swift:9:13:9:24 | try ... | result | diff --git a/swift/ql/test/library-tests/dataflow/taint/string.swift b/swift/ql/test/library-tests/dataflow/taint/string.swift index 45d4bb078a6..5179d64c0fc 100644 --- a/swift/ql/test/library-tests/dataflow/taint/string.swift +++ b/swift/ql/test/library-tests/dataflow/taint/string.swift @@ -82,6 +82,9 @@ extension String : CVarArg { func withPlatformString(_ body: (UnsafePointer) throws -> Result) rethrows -> Result { return 0 as! Result } init?(validating path: FilePath) { self.init() } + + mutating func replaceSubrange(_ subrange: Range, with newElements: C) + where C : Collection, C.Element == Character {} } extension StringProtocol { @@ -107,6 +110,8 @@ extension StringProtocol { func propertyListFromStringsFileFormat() -> [String : String] { return [:] } func cString(using encoding: String.Encoding) -> [CChar]? { return nil } func enumerateLines(invoking body: @escaping (String, inout Bool) -> Void) {} + func replacingOccurrences(of target: Target, with replacement: Replacement, options: String.CompareOptions = [], range searchRange: Range? = nil) -> String + where Target : StringProtocol, Replacement : StringProtocol { return "" } } class Data @@ -131,19 +136,19 @@ func sink(arg: Any) {} func taintThroughInterpolatedStrings() { var x = source() - sink(arg: "\(x)") // $ tainted=132 + sink(arg: "\(x)") // $ tainted=137 - sink(arg: "\(x) \(x)") // $ tainted=132 + sink(arg: "\(x) \(x)") // $ tainted=137 - sink(arg: "\(x) \(0) \(x)") // $ tainted=132 + sink(arg: "\(x) \(0) \(x)") // $ tainted=137 let y = 42 sink(arg: "\(y)") // clean - sink(arg: "\(x) hello \(y)") // $ tainted=132 + sink(arg: "\(x) hello \(y)") // $ tainted=137 - sink(arg: "\(y) world \(x)") // $ tainted=132 + sink(arg: "\(y) world \(x)") // $ tainted=137 x = 0 sink(arg: "\(x)") // clean @@ -156,55 +161,55 @@ func taintThroughStringConcatenation() { let tainted = source2() sink(arg: clean) - sink(arg: tainted) // $ tainted=156 + sink(arg: tainted) // $ tainted=161 sink(arg: clean + clean) - sink(arg: clean + tainted) // $ tainted=156 - sink(arg: tainted + clean) // $ tainted=156 - sink(arg: tainted + tainted) // $ tainted=156 + sink(arg: clean + tainted) // $ tainted=161 + sink(arg: tainted + clean) // $ tainted=161 + sink(arg: tainted + tainted) // $ tainted=161 sink(arg: ">" + clean + "<") - sink(arg: ">" + tainted + "<") // $ tainted=156 + sink(arg: ">" + tainted + "<") // $ tainted=161 sink(arg: clean.appending(clean)) - sink(arg: clean.appending(tainted)) // $ tainted=156 - sink(arg: tainted.appending(clean)) // $ tainted=156 - sink(arg: tainted.appending(tainted)) // $ tainted=156 + sink(arg: clean.appending(tainted)) // $ tainted=161 + sink(arg: tainted.appending(clean)) // $ tainted=161 + sink(arg: tainted.appending(tainted)) // $ tainted=161 var str = "abc" sink(arg: str) str += "def" sink(arg: str) str += source2() - sink(arg: str) // $ MISSING: tainted=178 + sink(arg: str) // $ MISSING: tainted=183 var str2 = "abc" sink(arg: str2) str2.append("def") sink(arg: str2) str2.append(source2()) - sink(arg: str2) // $ tainted=185 + sink(arg: str2) // $ tainted=190 var str3 = "abc" sink(arg: str3) str3.append(contentsOf: "def") sink(arg: str3) str3.append(contentsOf: source2()) - sink(arg: str3) // $ tainted=192 + sink(arg: str3) // $ tainted=197 var str4 = "abc" sink(arg: str4) str4.write("def") sink(arg: str4) str4.write(source2()) - sink(arg: str4) // $ tainted=199 + sink(arg: str4) // $ tainted=204 var str5 = "abc" sink(arg: str5) str5.insert(contentsOf: "abc", at: str5.startIndex) sink(arg: str5) str5.insert(contentsOf: source2(), at: str5.startIndex) - sink(arg: str5) // $ tainted=206 + sink(arg: str5) // $ tainted=211 } func taintThroughSimpleStringOperations() { @@ -213,42 +218,42 @@ func taintThroughSimpleStringOperations() { let taintedInt = source() sink(arg: String(clean)) - sink(arg: String(tainted)) // $ tainted=212 - sink(arg: String(taintedInt)) // $ tainted=213 + sink(arg: String(tainted)) // $ tainted=217 + sink(arg: String(taintedInt)) // $ tainted=218 - sink(arg: String(format: tainted, 1, 2, 3)) // $ tainted=212 - sink(arg: String(format: tainted, arguments: [])) // $ tainted=212 - sink(arg: String(format: tainted, locale: nil, 1, 2, 3)) // $ tainted=212 - sink(arg: String(format: tainted, locale: nil, arguments: [])) // $ tainted=212 - sink(arg: String.localizedStringWithFormat(tainted, 1, 2, 3)) // $ tainted=212 - sink(arg: String(format: "%s", tainted)) // $ MISSING: tainted=212 - sink(arg: String(format: "%i %i %i", 1, 2, taintedInt)) // $ MISSING: tainted=213 + sink(arg: String(format: tainted, 1, 2, 3)) // $ tainted=217 + sink(arg: String(format: tainted, arguments: [])) // $ tainted=217 + sink(arg: String(format: tainted, locale: nil, 1, 2, 3)) // $ tainted=217 + sink(arg: String(format: tainted, locale: nil, arguments: [])) // $ tainted=217 + sink(arg: String.localizedStringWithFormat(tainted, 1, 2, 3)) // $ tainted=217 + sink(arg: String(format: "%s", tainted)) // $ MISSING: tainted=217 + sink(arg: String(format: "%i %i %i", 1, 2, taintedInt)) // $ MISSING: tainted=218 sink(arg: String(repeating: clean, count: 2)) - sink(arg: String(repeating: tainted, count: 2)) // $ tainted=212 + sink(arg: String(repeating: tainted, count: 2)) // $ tainted=217 - sink(arg: tainted.dropFirst(10)) // $ tainted=212 - sink(arg: tainted.dropLast(10)) // $ tainted=212 - sink(arg: tainted.substring(from: tainted.startIndex)) // $ tainted=212 + sink(arg: tainted.dropFirst(10)) // $ tainted=217 + sink(arg: tainted.dropLast(10)) // $ tainted=217 + sink(arg: tainted.substring(from: tainted.startIndex)) // $ tainted=217 - sink(arg: tainted.lowercased()) // $ tainted=212 - sink(arg: tainted.uppercased()) // $ tainted=212 - sink(arg: tainted.lowercased(with: nil)) // $ tainted=212 - sink(arg: tainted.uppercased(with: nil)) // $ tainted=212 - sink(arg: tainted.capitalized(with: nil)) // $ tainted=212 - sink(arg: tainted.reversed()) // $ tainted=212 + sink(arg: tainted.lowercased()) // $ tainted=217 + sink(arg: tainted.uppercased()) // $ tainted=217 + sink(arg: tainted.lowercased(with: nil)) // $ tainted=217 + sink(arg: tainted.uppercased(with: nil)) // $ tainted=217 + sink(arg: tainted.capitalized(with: nil)) // $ tainted=217 + sink(arg: tainted.reversed()) // $ tainted=217 - sink(arg: tainted.split(separator: ",")) // $ tainted=212 - sink(arg: tainted.split(whereSeparator: { // $ tainted=212 + sink(arg: tainted.split(separator: ",")) // $ tainted=217 + sink(arg: tainted.split(whereSeparator: { // $ tainted=217 c in return (c == ",") })) - sink(arg: tainted.trimmingCharacters(in: CharacterSet.whitespaces)) // $ tainted=212 - sink(arg: tainted.padding(toLength: 20, withPad: " ", startingAt: 0)) // $ tainted=212 - sink(arg: tainted.components(separatedBy: CharacterSet.whitespaces)) // $ tainted=212 - sink(arg: tainted.components(separatedBy: CharacterSet.whitespaces)[0]) // $ tainted=212 - sink(arg: tainted.folding(locale: nil)) // $ tainted=212 - sink(arg: tainted.propertyListFromStringsFileFormat()) // $ tainted=212 - sink(arg: tainted.propertyListFromStringsFileFormat()["key"]!) // $ tainted=212 + sink(arg: tainted.trimmingCharacters(in: CharacterSet.whitespaces)) // $ tainted=217 + sink(arg: tainted.padding(toLength: 20, withPad: " ", startingAt: 0)) // $ tainted=217 + sink(arg: tainted.components(separatedBy: CharacterSet.whitespaces)) // $ tainted=217 + sink(arg: tainted.components(separatedBy: CharacterSet.whitespaces)[0]) // $ tainted=217 + sink(arg: tainted.folding(locale: nil)) // $ tainted=217 + sink(arg: tainted.propertyListFromStringsFileFormat()) // $ tainted=217 + sink(arg: tainted.propertyListFromStringsFileFormat()["key"]!) // $ tainted=217 sink(arg: clean.enumerateLines(invoking: { line, stop in @@ -257,81 +262,90 @@ func taintThroughSimpleStringOperations() { })) sink(arg: tainted.enumerateLines(invoking: { line, stop in - sink(arg: line) // $ MISSING: tainted=212 + sink(arg: line) // $ MISSING: tainted=217 sink(arg: stop) })) sink(arg: [clean, clean].joined()) - sink(arg: [tainted, clean].joined()) // $ MISSING: tainted=212 - sink(arg: [clean, tainted].joined()) // $ MISSING: tainted=212 - sink(arg: [tainted, tainted].joined()) // $ MISSING: tainted=212 + sink(arg: [tainted, clean].joined()) // $ MISSING: tainted=217 + sink(arg: [clean, tainted].joined()) // $ MISSING: tainted=217 + sink(arg: [tainted, tainted].joined()) // $ MISSING: tainted=217 sink(arg: clean.description) - sink(arg: tainted.description) // $ tainted=212 + sink(arg: tainted.description) // $ tainted=217 sink(arg: clean.debugDescription) - sink(arg: tainted.debugDescription) // $ tainted=212 + sink(arg: tainted.debugDescription) // $ tainted=217 sink(arg: clean.utf8) - sink(arg: tainted.utf8) // $ tainted=212 + sink(arg: tainted.utf8) // $ tainted=217 sink(arg: clean.utf16) - sink(arg: tainted.utf16) // $ tainted=212 + sink(arg: tainted.utf16) // $ tainted=217 sink(arg: clean.unicodeScalars) - sink(arg: tainted.unicodeScalars) // $ tainted=212 + sink(arg: tainted.unicodeScalars) // $ tainted=217 sink(arg: clean.utf8CString) - sink(arg: tainted.utf8CString) // $ tainted=212 + sink(arg: tainted.utf8CString) // $ tainted=217 sink(arg: clean.lazy) - sink(arg: tainted.lazy) // $ tainted=212 + sink(arg: tainted.lazy) // $ tainted=217 sink(arg: clean.capitalized) - sink(arg: tainted.capitalized) // $ tainted=212 + sink(arg: tainted.capitalized) // $ tainted=217 sink(arg: clean.localizedCapitalized) - sink(arg: tainted.localizedCapitalized) // $ tainted=212 + sink(arg: tainted.localizedCapitalized) // $ tainted=217 sink(arg: clean.localizedLowercase) - sink(arg: tainted.localizedLowercase) // $ tainted=212 + sink(arg: tainted.localizedLowercase) // $ tainted=217 sink(arg: clean.localizedUppercase) - sink(arg: tainted.localizedUppercase) // $ tainted=212 + sink(arg: tainted.localizedUppercase) // $ tainted=217 sink(arg: clean.decomposedStringWithCanonicalMapping) - sink(arg: tainted.decomposedStringWithCanonicalMapping) // $ tainted=212 + sink(arg: tainted.decomposedStringWithCanonicalMapping) // $ tainted=217 sink(arg: clean.precomposedStringWithCompatibilityMapping) - sink(arg: tainted.precomposedStringWithCompatibilityMapping) // $ tainted=212 + sink(arg: tainted.precomposedStringWithCompatibilityMapping) // $ tainted=217 sink(arg: clean.removingPercentEncoding!) - sink(arg: tainted.removingPercentEncoding!) // $ tainted=212 + sink(arg: tainted.removingPercentEncoding!) // $ tainted=217 + + sink(arg: clean.replacingOccurrences(of: "a", with: "b")) + sink(arg: tainted.replacingOccurrences(of: "a", with: "b")) // $ tainted=217 + sink(arg: clean.replacingOccurrences(of: "a", with: source2())) // $ tainted=305 } func taintThroughMutatingStringOperations() { var str1 = source2() - sink(arg: str1) // $ tainted=300 - sink(arg: str1.remove(at: str1.startIndex)) // $ tainted=300 - sink(arg: str1) // $ tainted=300 + sink(arg: str1) // $ tainted=309 + sink(arg: str1.remove(at: str1.startIndex)) // $ tainted=309 + sink(arg: str1) // $ tainted=309 var str2 = source2() - sink(arg: str2) // $ tainted=305 + sink(arg: str2) // $ tainted=314 str2.removeAll() - sink(arg: str2) // $ SPURIOUS: tainted=305 + sink(arg: str2) // $ SPURIOUS: tainted=314 var str3 = source2() - sink(arg: str3) // $ tainted=310 + sink(arg: str3) // $ tainted=319 str3.removeAll(where: { _ in true } ) - sink(arg: str3) // $ SPURIOUS: tainted=310 + sink(arg: str3) // $ SPURIOUS: tainted=319 var str4 = source2() - sink(arg: str4) // $ tainted=315 - sink(arg: str4.removeFirst()) // $ tainted=315 - sink(arg: str4) // $ tainted=315 + sink(arg: str4) // $ tainted=324 + sink(arg: str4.removeFirst()) // $ tainted=324 + sink(arg: str4) // $ tainted=324 str4.removeFirst(5) - sink(arg: str4) // $ tainted=315 - sink(arg: str4.removeLast()) // $ tainted=315 - sink(arg: str4) // $ tainted=315 + sink(arg: str4) // $ tainted=324 + sink(arg: str4.removeLast()) // $ tainted=324 + sink(arg: str4) // $ tainted=324 str4.removeLast(5) - sink(arg: str4) // $ tainted=315 + sink(arg: str4) // $ tainted=324 var str5 = source2() - sink(arg: str5) // $ tainted=326 + sink(arg: str5) // $ tainted=335 str5.removeSubrange(str5.startIndex ... str5.index(str5.startIndex, offsetBy: 5)) - sink(arg: str5) // $ tainted=326 + sink(arg: str5) // $ tainted=335 var str6 = source2() - sink(arg: str6) // $ tainted=331 + sink(arg: str6) // $ tainted=340 str6.makeContiguousUTF8() - sink(arg: str6) // $ tainted=331 + sink(arg: str6) // $ tainted=340 + + var str7 = "" + sink(arg: str7) + str7.replaceSubrange((nil as Range?)!, with: source2()) + sink(arg: str7) // $ tainted=347 } func source3() -> Data { return Data("") } @@ -341,10 +355,10 @@ func taintThroughData() { let stringTainted = String(data: source3(), encoding: String.Encoding.utf8) sink(arg: stringClean!) - sink(arg: stringTainted!) // $ tainted=341 + sink(arg: stringTainted!) // $ tainted=355 sink(arg: String(decoding: Data(""), as: UTF8.self)) - sink(arg: String(decoding: source3(), as: UTF8.self)) // $ tainted=347 + sink(arg: String(decoding: source3(), as: UTF8.self)) // $ tainted=361 } func taintThroughEncodings() { @@ -358,8 +372,8 @@ func taintThroughEncodings() { }) tainted.withUTF8({ buffer in - sink(arg: buffer) // $ MISSING: tainted=352 - sink(arg: buffer.baseAddress!) // $ MISSING: tainted=352 + sink(arg: buffer) // $ MISSING: tainted=366 + sink(arg: buffer.baseAddress!) // $ MISSING: tainted=366 }) clean.withCString({ @@ -368,7 +382,7 @@ func taintThroughEncodings() { }) tainted.withCString({ ptr in - sink(arg: ptr) // $ MISSING: tainted=352 + sink(arg: ptr) // $ MISSING: tainted=366 }) clean.withCString(encodedAs: UTF8.self, { ptr in @@ -376,7 +390,7 @@ func taintThroughEncodings() { }) tainted.withCString(encodedAs: UTF8.self, { ptr in - sink(arg: ptr) // $ MISSING: tainted=352 + sink(arg: ptr) // $ MISSING: tainted=366 }) let arrayString1 = clean.cString(using: String.Encoding.utf8)! @@ -387,11 +401,11 @@ func taintThroughEncodings() { sink(arg: String(cString: buffer.baseAddress!)) }) let arrayString2 = tainted.cString(using: String.Encoding.utf8)! - sink(arg: arrayString2) // $ tainted=352 + sink(arg: arrayString2) // $ tainted=366 arrayString1.withUnsafeBufferPointer({ buffer in - sink(arg: buffer) // $ MISSING: tainted=352 - sink(arg: String(cString: buffer.baseAddress!)) // $ MISSING: tainted=352 + sink(arg: buffer) // $ MISSING: tainted=366 + sink(arg: String(cString: buffer.baseAddress!)) // $ MISSING: tainted=366 }) clean.withPlatformString({ @@ -407,14 +421,14 @@ func taintThroughEncodings() { }) tainted.withPlatformString({ ptr in - sink(arg: ptr) // $ MISSING: tainted=352 - sink(arg: String(platformString: ptr)) // $ MISSING: tainted=352 + sink(arg: ptr) // $ MISSING: tainted=366 + sink(arg: String(platformString: ptr)) // $ MISSING: tainted=366 let buffer = UnsafeBufferPointer(start: ptr, count: 10) let arrayString = Array(buffer) - sink(arg: buffer) // $ MISSING: tainted=352 - sink(arg: arrayString) // $ MISSING: tainted=352 - sink(arg: String(platformString: arrayString)) // $ MISSING: tainted=352 + sink(arg: buffer) // $ MISSING: tainted=366 + sink(arg: arrayString) // $ MISSING: tainted=366 + sink(arg: String(platformString: arrayString)) // $ MISSING: tainted=366 }) clean.withContiguousStorageIfAvailable({ @@ -425,7 +439,7 @@ func taintThroughEncodings() { tainted.withContiguousStorageIfAvailable({ ptr in sink(arg: ptr) - sink(arg: ptr.baseAddress!) // $ MISSING: tainted=352 + sink(arg: ptr.baseAddress!) // $ MISSING: tainted=366 }) } @@ -443,20 +457,20 @@ func taintFromUInt8Array() { return 3 } )) - sink(arg: String(unsafeUninitializedCapacity: 256, initializingUTF8With: { // $ MISSING: tainted=436 + sink(arg: String(unsafeUninitializedCapacity: 256, initializingUTF8With: { // $ MISSING: tainted=450 (buffer: UnsafeMutableBufferPointer) -> Int in sink(arg: buffer) let _ = buffer.initialize(from: taintedUInt8Values) - sink(arg: buffer) // $ MISSING: tainted=436 + sink(arg: buffer) // $ MISSING: tainted=450 return 256 } )) sink(arg: String(bytes: cleanUInt8Values, encoding: String.Encoding.utf8)!) - sink(arg: String(bytes: taintedUInt8Values, encoding: String.Encoding.utf8)!) // $ tainted=436 + sink(arg: String(bytes: taintedUInt8Values, encoding: String.Encoding.utf8)!) // $ tainted=450 sink(arg: String(cString: cleanUInt8Values)) - sink(arg: String(cString: taintedUInt8Values)) // $ tainted=436 + sink(arg: String(cString: taintedUInt8Values)) // $ tainted=450 try! cleanUInt8Values.withUnsafeBufferPointer({ (buffer: UnsafeBufferPointer) throws in @@ -466,9 +480,9 @@ func taintFromUInt8Array() { }) try! taintedUInt8Values.withUnsafeBufferPointer({ (buffer: UnsafeBufferPointer) throws in - sink(arg: buffer) // $ MISSING: tainted=436 - sink(arg: buffer.baseAddress!) // $ MISSING: tainted=436 - sink(arg: String(cString: buffer.baseAddress!)) // $ MISSING: tainted=436 + sink(arg: buffer) // $ MISSING: tainted=450 + sink(arg: buffer.baseAddress!) // $ MISSING: tainted=450 + sink(arg: String(cString: buffer.baseAddress!)) // $ MISSING: tainted=450 }) try! cleanUInt8Values.withUnsafeMutableBytes({ @@ -479,9 +493,9 @@ func taintFromUInt8Array() { }) try! taintedUInt8Values.withUnsafeMutableBytes({ (buffer: UnsafeMutableRawBufferPointer) throws in - sink(arg: buffer) // $ MISSING: tainted=436 - sink(arg: buffer.baseAddress!) // $ MISSING: tainted=436 - sink(arg: String(bytesNoCopy: buffer.baseAddress!, length: buffer.count, encoding: String.Encoding.utf8, freeWhenDone: false)!) // $ MISSING: tainted=436 + sink(arg: buffer) // $ MISSING: tainted=450 + sink(arg: buffer.baseAddress!) // $ MISSING: tainted=450 + sink(arg: String(bytesNoCopy: buffer.baseAddress!, length: buffer.count, encoding: String.Encoding.utf8, freeWhenDone: false)!) // $ MISSING: tainted=450 }) } @@ -501,15 +515,15 @@ func taintThroughCCharArray() { }) taintedCCharValues.withUnsafeBufferPointer({ ptr in - sink(arg: ptr) // $ MISSING: tainted=492 - sink(arg: ptr.baseAddress!) // $ MISSING: tainted=492 - sink(arg: String(utf8String: ptr.baseAddress!)!) // $ MISSING: tainted=492 - sink(arg: String(validatingUTF8: ptr.baseAddress!)!) // $ MISSING: tainted=492 - sink(arg: String(cString: ptr.baseAddress!)) // $ MISSING: tainted=492 + sink(arg: ptr) // $ MISSING: tainted=506 + sink(arg: ptr.baseAddress!) // $ MISSING: tainted=506 + sink(arg: String(utf8String: ptr.baseAddress!)!) // $ MISSING: tainted=506 + sink(arg: String(validatingUTF8: ptr.baseAddress!)!) // $ MISSING: tainted=506 + sink(arg: String(cString: ptr.baseAddress!)) // $ MISSING: tainted=506 }) sink(arg: String(cString: cleanCCharValues)) - sink(arg: String(cString: taintedCCharValues)) // $ tainted=492 + sink(arg: String(cString: taintedCCharValues)) // $ tainted=506 } func source6() -> [unichar] { return [] } @@ -527,10 +541,10 @@ func taintThroughUnicharArray() { }) taintedUnicharValues.withUnsafeBufferPointer({ ptr in - sink(arg: ptr) // $ MISSING: tainted=519 - sink(arg: ptr.baseAddress!) // $ MISSING: tainted=519 - sink(arg: String(utf16CodeUnits: ptr.baseAddress!, count: ptr.count)) // $ MISSING: tainted=519 - sink(arg: String(utf16CodeUnitsNoCopy: ptr.baseAddress!, count: ptr.count, freeWhenDone: false)) // $ MISSING: tainted=519 + sink(arg: ptr) // $ MISSING: tainted=533 + sink(arg: ptr.baseAddress!) // $ MISSING: tainted=533 + sink(arg: String(utf16CodeUnits: ptr.baseAddress!, count: ptr.count)) // $ MISSING: tainted=533 + sink(arg: String(utf16CodeUnitsNoCopy: ptr.baseAddress!, count: ptr.count, freeWhenDone: false)) // $ MISSING: tainted=533 }) } @@ -539,31 +553,31 @@ func source7() -> Substring { return Substring() } func taintThroughSubstring() { let tainted = source2() - sink(arg: source7()) // $ tainted=542 + sink(arg: source7()) // $ tainted=556 let sub1 = tainted[tainted.startIndex ..< tainted.endIndex] - sink(arg: sub1) // $ tainted=540 - sink(arg: String(sub1)) // $ tainted=540 + sink(arg: sub1) // $ tainted=554 + sink(arg: String(sub1)) // $ tainted=554 let sub2 = tainted.prefix(10) - sink(arg: sub2) // $ tainted=540 - sink(arg: String(sub2)) // $ tainted=540 + sink(arg: sub2) // $ tainted=554 + sink(arg: String(sub2)) // $ tainted=554 let sub3 = tainted.prefix(through: tainted.endIndex) - sink(arg: sub3) // $ tainted=540 - sink(arg: String(sub3)) // $ tainted=540 + sink(arg: sub3) // $ tainted=554 + sink(arg: String(sub3)) // $ tainted=554 let sub4 = tainted.prefix(upTo: tainted.endIndex) - sink(arg: sub4) // $ tainted=540 - sink(arg: String(sub4)) // $ tainted=540 + sink(arg: sub4) // $ tainted=554 + sink(arg: String(sub4)) // $ tainted=554 let sub5 = tainted.suffix(10) - sink(arg: sub5) // $ tainted=540 - sink(arg: String(sub5)) // $ tainted=540 + sink(arg: sub5) // $ tainted=554 + sink(arg: String(sub5)) // $ tainted=554 let sub6 = tainted.suffix(from: tainted.startIndex) - sink(arg: sub6) // $ tainted=540 - sink(arg: String(sub6)) // $ tainted=540 + sink(arg: sub6) // $ tainted=554 + sink(arg: String(sub6)) // $ tainted=554 } func taintedThroughFilePath() { @@ -571,16 +585,16 @@ func taintedThroughFilePath() { let tainted = FilePath(source2()) sink(arg: clean) - sink(arg: tainted) // $ MISSING: tainted=571 + sink(arg: tainted) // $ MISSING: tainted=585 - sink(arg: tainted.extension!) // $ MISSING: tainted=571 - sink(arg: tainted.stem!) // $ MISSING: tainted=571 - sink(arg: tainted.string) // $ MISSING: tainted=571 - sink(arg: tainted.description) // $ MISSING: tainted=571 - sink(arg: tainted.debugDescription) // $ MISSING: tainted=571 + sink(arg: tainted.extension!) // $ MISSING: tainted=585 + sink(arg: tainted.stem!) // $ MISSING: tainted=585 + sink(arg: tainted.string) // $ MISSING: tainted=585 + sink(arg: tainted.description) // $ MISSING: tainted=585 + sink(arg: tainted.debugDescription) // $ MISSING: tainted=585 - sink(arg: String(decoding: tainted)) // $ MISSING: tainted=571 - sink(arg: String(validating: tainted)!) // $ MISSING: tainted=571 + sink(arg: String(decoding: tainted)) // $ MISSING: tainted=585 + sink(arg: String(validating: tainted)!) // $ MISSING: tainted=585 let _ = clean.withCString({ ptr in @@ -588,7 +602,7 @@ func taintedThroughFilePath() { }) let _ = tainted.withCString({ ptr in - sink(arg: ptr) // $ MISSING: tainted=571 + sink(arg: ptr) // $ MISSING: tainted=585 }) let _ = clean.withPlatformString({ @@ -599,34 +613,34 @@ func taintedThroughFilePath() { }) let _ = tainted.withPlatformString({ ptr in - sink(arg: ptr) // $ MISSING: tainted=571 - sink(arg: String(platformString: ptr)) // $ MISSING: tainted=571 - sink(arg: String(validatingPlatformString: ptr)!) // $ MISSING: tainted=571 + sink(arg: ptr) // $ MISSING: tainted=585 + sink(arg: String(platformString: ptr)) // $ MISSING: tainted=585 + sink(arg: String(validatingPlatformString: ptr)!) // $ MISSING: tainted=585 }) var fp1 = FilePath("") sink(arg: fp1) fp1.append(source2()) - sink(arg: fp1) // $ MISSING: tainted=609 + sink(arg: fp1) // $ MISSING: tainted=623 fp1.append("") - sink(arg: fp1) // $ MISSING: tainted=609 + sink(arg: fp1) // $ MISSING: tainted=623 sink(arg: clean.appending("")) - sink(arg: clean.appending(source2())) // $ MISSING: tainted=615 - sink(arg: tainted.appending("")) // $ MISSING: tainted=571 - sink(arg: tainted.appending(source2())) // $ MISSING: tainted=571,617 + sink(arg: clean.appending(source2())) // $ MISSING: tainted=629 + sink(arg: tainted.appending("")) // $ MISSING: tainted=585 + sink(arg: tainted.appending(source2())) // $ MISSING: tainted=585,631 } func taintedThroughConversion() { sink(arg: String(0)) - sink(arg: String(source())) // $ tainted=622 + sink(arg: String(source())) // $ tainted=636 sink(arg: Int(0).description) - sink(arg: source().description) // $ MISSING: tainted=624 + sink(arg: source().description) // $ MISSING: tainted=638 sink(arg: String(describing: 0)) - sink(arg: String(describing: source())) // $ tainted=626 + sink(arg: String(describing: source())) // $ tainted=640 sink(arg: Int("123")!) - sink(arg: Int(source2())!) // $ MISSING: tainted=629 + sink(arg: Int(source2())!) // $ MISSING: tainted=643 } func untaintedFields() {