From eaddb627efd38edeaa5d3ec8c2662fe44a27da42 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Mon, 17 Apr 2023 10:08:39 +0200 Subject: [PATCH] C#: Re-factor the GlobalFlow test to use the new API. --- .../test/library-tests/csharp7/GlobalFlow.ql | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/csharp/ql/test/library-tests/csharp7/GlobalFlow.ql b/csharp/ql/test/library-tests/csharp7/GlobalFlow.ql index d1d09e89893..b1880fa58a3 100644 --- a/csharp/ql/test/library-tests/csharp7/GlobalFlow.ql +++ b/csharp/ql/test/library-tests/csharp7/GlobalFlow.ql @@ -3,20 +3,18 @@ */ import csharp -import DataFlow::PathGraph +import GlobalFlow::PathGraph -class DataflowConfiguration extends DataFlow::Configuration { - DataflowConfiguration() { this = "data flow configuration" } +module GlobalFlowConfig implements DataFlow::ConfigSig { + predicate isSource(DataFlow::Node source) { source.asExpr().(Expr).getValue() = "tainted" } - override predicate isSource(DataFlow::Node source) { - source.asExpr().(Expr).getValue() = "tainted" - } - - override predicate isSink(DataFlow::Node sink) { + predicate isSink(DataFlow::Node sink) { exists(LocalVariable v | sink.asExpr() = v.getInitializer()) } } -from DataFlow::PathNode source, DataFlow::PathNode sink, DataflowConfiguration conf -where conf.hasFlowPath(source, sink) +module GlobalFlow = DataFlow::Global; + +from GlobalFlow::PathNode source, GlobalFlow::PathNode sink +where GlobalFlow::flowPath(source, sink) select source, source, sink, "$@", sink, sink.toString()