Skip to content

Commit 226a874

Browse files
committed
C#: Test cases for IEnumerable.
1 parent ec6dab8 commit 226a874

File tree

3 files changed

+25
-0
lines changed

3 files changed

+25
-0
lines changed

csharp/ql/test/utils/model-generator/CaptureSummaryModels.expected

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,6 @@
1313
| Summaries;CollectionFlow;false;ReturnArrayElement;(System.Int32[]);Argument[0].Element;ReturnValue;taint |
1414
| Summaries;CollectionFlow;false;ReturnFieldInAList;();Argument[Qualifier];ReturnValue;taint |
1515
| Summaries;CollectionFlow;false;ReturnListElement;(System.Collections.Generic.List<System.Object>);Argument[0].Element;ReturnValue;taint |
16+
| Summaries;IEnumerableFlow;false;ReturnFieldInIEnumerable;();Argument[Qualifier];ReturnValue;taint |
17+
| Summaries;IEnumerableFlow;false;ReturnIEnumerable;(System.Collections.Generic.IEnumerable<System.String>);Argument[0].Element;ReturnValue;taint |
18+
| Summaries;IEnumerableFlow;false;ReturnIEnumerableElement;(System.Collections.Generic.IEnumerable<System.Object>);Argument[0].Element;ReturnValue;taint |

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

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

45
namespace Summaries;
@@ -82,3 +83,23 @@ public List<string> ReturnFieldInAList()
8283
return new List<string> { tainted };
8384
}
8485
}
86+
87+
public class IEnumerableFlow
88+
{
89+
private string tainted;
90+
91+
public IEnumerable<string> ReturnIEnumerable(IEnumerable<string> input)
92+
{
93+
return input;
94+
}
95+
96+
public object ReturnIEnumerableElement(IEnumerable<object> input)
97+
{
98+
return input.First();
99+
}
100+
101+
public IEnumerable<string> ReturnFieldInIEnumerable()
102+
{
103+
return new List<string> { tainted };
104+
}
105+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
semmle-extractor-options: /r:System.Linq.dll

0 commit comments

Comments
 (0)