Skip to content

Commit f69737b

Browse files
committed
C#: Move parallelsink to the library qlpack.
1 parent c720fb2 commit f69737b

File tree

3 files changed

+30
-24
lines changed

3 files changed

+30
-24
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import csharp
2+
3+
abstract class ParallelSink extends DataFlow::Node { }
4+
5+
class LambdaParallelSink extends ParallelSink {
6+
LambdaParallelSink() {
7+
exists(Class c, Method m, MethodCall mc, Expr e | e = this.asExpr() |
8+
c.getABaseType*().hasFullyQualifiedName("System.Threading.Tasks", "Parallel") and
9+
c.getAMethod() = m and
10+
m.getName() = "Invoke" and
11+
m.getACall() = mc and
12+
mc.getAnArgument() = e
13+
)
14+
}
15+
}
16+
17+
class ThreadStartParallelSink extends ParallelSink {
18+
ThreadStartParallelSink() {
19+
exists(DelegateCreation dc, Expr e | e = this.asExpr() |
20+
dc.getArgument() = e and
21+
dc.getType().getName().matches("%Start")
22+
)
23+
}
24+
}
Lines changed: 5 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,6 @@
1-
import csharp
2-
3-
abstract class ParallelSink extends DataFlow::Node { }
1+
/**
2+
* DEPRECATED: Use `ParallelSink` from `flowsinks.ParallelSink` instead.
3+
*/
44

5-
class LambdaParallelSink extends ParallelSink {
6-
LambdaParallelSink() {
7-
exists(Class c, Method m, MethodCall mc, Expr e | e = this.asExpr() |
8-
c.getABaseType*().hasFullyQualifiedName("System.Threading.Tasks", "Parallel") and
9-
c.getAMethod() = m and
10-
m.getName() = "Invoke" and
11-
m.getACall() = mc and
12-
mc.getAnArgument() = e
13-
)
14-
}
15-
}
16-
17-
class ThreadStartParallelSink extends ParallelSink {
18-
ThreadStartParallelSink() {
19-
exists(DelegateCreation dc, Expr e | e = this.asExpr() |
20-
dc.getArgument() = e and
21-
dc.getType().getName().matches("%Start")
22-
)
23-
}
24-
}
5+
import csharp
6+
deprecated import semmle.code.csharp.security.dataflow.flowsinks.ParallelSink

csharp/ql/src/Likely Bugs/ThreadUnsafeICryptoTransformLambda.ql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
*/
1616

1717
import csharp
18-
import ParallelSink
18+
import semmle.code.csharp.security.dataflow.flowsinks.ParallelSink
1919
import ICryptoTransform
2020

2121
module NotThreadSafeCryptoUsageIntoParallelInvokeConfig implements DataFlow::ConfigSig {

0 commit comments

Comments
 (0)