Skip to content

Commit 4f2678f

Browse files
committed
C#: Add some testcases for model generation of methods using Lists.
1 parent a9bbe68 commit 4f2678f

File tree

2 files changed

+39
-9
lines changed

2 files changed

+39
-9
lines changed
Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
| Summaries;BasicFlow;false;AssignFieldToArray;(System.Object[]);Argument[Qualifier];Argument[0].Element;taint |
2-
| Summaries;BasicFlow;false;AssignToArray;(System.Int32,System.Int32[]);Argument[0];Argument[1].Element;taint |
3-
| Summaries;BasicFlow;false;ReturnArrayElement;(System.Int32[]);Argument[0].Element;ReturnValue;taint |
41
| Summaries;BasicFlow;false;ReturnField;();Argument[Qualifier];ReturnValue;taint |
52
| Summaries;BasicFlow;false;ReturnParam0;(System.String,System.Object);Argument[0];ReturnValue;taint |
63
| Summaries;BasicFlow;false;ReturnParam1;(System.String,System.Object);Argument[1];ReturnValue;taint |
@@ -9,3 +6,10 @@
96
| Summaries;BasicFlow;false;ReturnSubstring;(System.String);Argument[0];ReturnValue;taint |
107
| Summaries;BasicFlow;false;ReturnThis;(System.Object);Argument[Qualifier];ReturnValue;value |
118
| Summaries;BasicFlow;false;SetField;(System.String);Argument[0];Argument[Qualifier];taint |
9+
| Summaries;CollectionFlow;false;AddFieldToList;(System.Collections.Generic.List<System.String>);Argument[Qualifier];Argument[0].Element;taint |
10+
| Summaries;CollectionFlow;false;AddToList;(System.Collections.Generic.List<System.Object>,System.Object);Argument[1];Argument[0].Element;taint |
11+
| Summaries;CollectionFlow;false;AssignFieldToArray;(System.Object[]);Argument[Qualifier];Argument[0].Element;taint |
12+
| Summaries;CollectionFlow;false;AssignToArray;(System.Int32,System.Int32[]);Argument[0];Argument[1].Element;taint |
13+
| Summaries;CollectionFlow;false;ReturnArrayElement;(System.Int32[]);Argument[0].Element;ReturnValue;taint |
14+
| Summaries;CollectionFlow;false;ReturnFieldInAList;();Argument[Qualifier];ReturnValue;taint |
15+
| Summaries;CollectionFlow;false;ReturnListElement;(System.Collections.Generic.List<System.Object>);Argument[0].Element;ReturnValue;taint |

csharp/ql/test/utils/model-generator/Summaries.cs

Lines changed: 32 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System;
2+
using System.Collections.Generic;
23

34
namespace Summaries;
45

@@ -31,6 +32,21 @@ public string ReturnSubstring(string s)
3132
return s.Substring(0, 1);
3233
}
3334

35+
public void SetField(string s)
36+
{
37+
tainted = s;
38+
}
39+
40+
public string ReturnField()
41+
{
42+
return tainted;
43+
}
44+
}
45+
46+
public class CollectionFlow
47+
{
48+
private string tainted;
49+
3450
public int ReturnArrayElement(int[] input)
3551
{
3652
return input[0];
@@ -41,18 +57,28 @@ public void AssignToArray(int data, int[] target)
4157
target[0] = data;
4258
}
4359

44-
public void SetField(string s)
60+
public void AssignFieldToArray(object[] target)
4561
{
46-
tainted = s;
62+
target[0] = tainted;
4763
}
4864

49-
public string ReturnField()
65+
public object ReturnListElement(List<object> input)
5066
{
51-
return tainted;
67+
return input[0];
5268
}
5369

54-
public void AssignFieldToArray(object[] target)
70+
public void AddToList(List<object> input, object data)
5571
{
56-
target[0] = tainted;
72+
input.Add(data);
73+
}
74+
75+
public void AddFieldToList(List<string> input)
76+
{
77+
input.Add(tainted);
78+
}
79+
80+
public List<string> ReturnFieldInAList()
81+
{
82+
return new List<string> { tainted };
5783
}
5884
}

0 commit comments

Comments
 (0)