Skip to content

Commit a90a86b

Browse files
committed
Fix flow from Element of Argument[0] for Int32.TryParse(ReadOnlySpan<Char>,...
1 parent 1d8b19e commit a90a86b

File tree

8 files changed

+677
-663
lines changed

8 files changed

+677
-663
lines changed

csharp/ql/src/semmle/code/csharp/dataflow/LibraryTypeDataFlow.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -508,9 +508,9 @@ private class SystemInt32FlowModelCsv extends SummaryModelCsv {
508508
"System;Int32;false;Parse;;;Argument[0];ReturnValue;taint",
509509
"System;Int32;false;TryParse;;;Argument[0];ReturnValue;taint",
510510
"System;Int32;false;TryParse;(System.String,System.Int32);;Argument[0];Argument[1];taint",
511-
"System;Int32;false;TryParse;(System.ReadOnlySpan<System.Char>,System.Int32);;Argument[0];Argument[1];taint",
511+
"System;Int32;false;TryParse;(System.ReadOnlySpan<System.Char>,System.Int32);;Element of Argument[0];Argument[1];taint",
512512
"System;Int32;false;TryParse;(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);;Argument[0];Argument[3];taint",
513-
"System;Int32;false;TryParse;(System.ReadOnlySpan<System.Char>,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);;Argument[0];Argument[3];taint"
513+
"System;Int32;false;TryParse;(System.ReadOnlySpan<System.Char>,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);;Element of Argument[0];Argument[3];taint"
514514
]
515515
}
516516
}

csharp/ql/test/library-tests/dataflow/global/DataFlow.expected

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -23,36 +23,36 @@
2323
| GlobalDataFlow.cs:84:15:84:20 | access to local variable sink14 |
2424
| GlobalDataFlow.cs:86:15:86:20 | access to local variable sink15 |
2525
| GlobalDataFlow.cs:88:15:88:20 | access to local variable sink16 |
26-
| GlobalDataFlow.cs:137:15:137:19 | access to local variable sink4 |
27-
| GlobalDataFlow.cs:145:15:145:19 | access to local variable sink5 |
28-
| GlobalDataFlow.cs:155:15:155:19 | access to local variable sink6 |
29-
| GlobalDataFlow.cs:158:15:158:19 | access to local variable sink7 |
30-
| GlobalDataFlow.cs:161:15:161:19 | access to local variable sink8 |
31-
| GlobalDataFlow.cs:163:15:163:20 | access to local variable sink12 |
32-
| GlobalDataFlow.cs:165:15:165:20 | access to local variable sink23 |
33-
| GlobalDataFlow.cs:182:15:182:19 | access to local variable sink9 |
34-
| GlobalDataFlow.cs:191:15:191:20 | access to local variable sink10 |
35-
| GlobalDataFlow.cs:199:15:199:20 | access to local variable sink19 |
36-
| GlobalDataFlow.cs:211:58:211:68 | access to parameter sinkParam10 |
37-
| GlobalDataFlow.cs:214:15:214:20 | access to local variable sink24 |
38-
| GlobalDataFlow.cs:216:15:216:20 | access to local variable sink25 |
39-
| GlobalDataFlow.cs:218:15:218:20 | access to local variable sink26 |
40-
| GlobalDataFlow.cs:240:15:240:20 | access to local variable sink41 |
41-
| GlobalDataFlow.cs:242:15:242:20 | access to local variable sink42 |
42-
| GlobalDataFlow.cs:257:15:257:24 | access to parameter sinkParam0 |
43-
| GlobalDataFlow.cs:262:15:262:24 | access to parameter sinkParam1 |
44-
| GlobalDataFlow.cs:267:15:267:24 | access to parameter sinkParam3 |
45-
| GlobalDataFlow.cs:272:15:272:24 | access to parameter sinkParam4 |
46-
| GlobalDataFlow.cs:277:15:277:24 | access to parameter sinkParam5 |
47-
| GlobalDataFlow.cs:282:15:282:24 | access to parameter sinkParam6 |
48-
| GlobalDataFlow.cs:287:15:287:24 | access to parameter sinkParam7 |
49-
| GlobalDataFlow.cs:314:15:314:24 | access to parameter sinkParam8 |
50-
| GlobalDataFlow.cs:320:15:320:24 | access to parameter sinkParam9 |
51-
| GlobalDataFlow.cs:326:15:326:25 | access to parameter sinkParam11 |
52-
| GlobalDataFlow.cs:401:15:401:20 | access to local variable sink11 |
53-
| GlobalDataFlow.cs:424:41:424:46 | access to local variable sink20 |
54-
| GlobalDataFlow.cs:475:15:475:20 | access to local variable sink45 |
55-
| GlobalDataFlow.cs:483:32:483:32 | access to parameter s |
26+
| GlobalDataFlow.cs:140:15:140:19 | access to local variable sink4 |
27+
| GlobalDataFlow.cs:148:15:148:19 | access to local variable sink5 |
28+
| GlobalDataFlow.cs:158:15:158:19 | access to local variable sink6 |
29+
| GlobalDataFlow.cs:161:15:161:19 | access to local variable sink7 |
30+
| GlobalDataFlow.cs:164:15:164:19 | access to local variable sink8 |
31+
| GlobalDataFlow.cs:166:15:166:20 | access to local variable sink12 |
32+
| GlobalDataFlow.cs:168:15:168:20 | access to local variable sink23 |
33+
| GlobalDataFlow.cs:185:15:185:19 | access to local variable sink9 |
34+
| GlobalDataFlow.cs:194:15:194:20 | access to local variable sink10 |
35+
| GlobalDataFlow.cs:202:15:202:20 | access to local variable sink19 |
36+
| GlobalDataFlow.cs:214:58:214:68 | access to parameter sinkParam10 |
37+
| GlobalDataFlow.cs:217:15:217:20 | access to local variable sink24 |
38+
| GlobalDataFlow.cs:219:15:219:20 | access to local variable sink25 |
39+
| GlobalDataFlow.cs:221:15:221:20 | access to local variable sink26 |
40+
| GlobalDataFlow.cs:243:15:243:20 | access to local variable sink41 |
41+
| GlobalDataFlow.cs:245:15:245:20 | access to local variable sink42 |
42+
| GlobalDataFlow.cs:260:15:260:24 | access to parameter sinkParam0 |
43+
| GlobalDataFlow.cs:265:15:265:24 | access to parameter sinkParam1 |
44+
| GlobalDataFlow.cs:270:15:270:24 | access to parameter sinkParam3 |
45+
| GlobalDataFlow.cs:275:15:275:24 | access to parameter sinkParam4 |
46+
| GlobalDataFlow.cs:280:15:280:24 | access to parameter sinkParam5 |
47+
| GlobalDataFlow.cs:285:15:285:24 | access to parameter sinkParam6 |
48+
| GlobalDataFlow.cs:290:15:290:24 | access to parameter sinkParam7 |
49+
| GlobalDataFlow.cs:317:15:317:24 | access to parameter sinkParam8 |
50+
| GlobalDataFlow.cs:323:15:323:24 | access to parameter sinkParam9 |
51+
| GlobalDataFlow.cs:329:15:329:25 | access to parameter sinkParam11 |
52+
| GlobalDataFlow.cs:404:15:404:20 | access to local variable sink11 |
53+
| GlobalDataFlow.cs:427:41:427:46 | access to local variable sink20 |
54+
| GlobalDataFlow.cs:478:15:478:20 | access to local variable sink45 |
55+
| GlobalDataFlow.cs:486:32:486:32 | access to parameter s |
5656
| Splitting.cs:9:15:9:15 | [b (line 3): false] access to local variable x |
5757
| Splitting.cs:9:15:9:15 | [b (line 3): true] access to local variable x |
5858
| Splitting.cs:11:19:11:19 | access to local variable x |

0 commit comments

Comments
 (0)