mirror of
https://github.com/github/codeql.git
synced 2025-12-17 01:03:14 +01:00
JS: Also update tutorial code
This commit is contained in:
@@ -416,11 +416,11 @@ additional taint step from the first argument of ``resolveSymlinks`` to its resu
|
|||||||
|
|
||||||
// ...
|
// ...
|
||||||
|
|
||||||
predicate isAdditionalFlowStep(DataFlow::Node pred, DataFlow::Node succ) {
|
predicate isAdditionalFlowStep(DataFlow::Node node1, DataFlow::Node node2) {
|
||||||
exists(DataFlow::CallNode c |
|
exists(DataFlow::CallNode c |
|
||||||
c = DataFlow::moduleImport("resolve-symlinks").getACall() and
|
c = DataFlow::moduleImport("resolve-symlinks").getACall() and
|
||||||
pred = c.getArgument(0) and
|
node1 = c.getArgument(0) and
|
||||||
succ = c
|
node2 = c
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -431,11 +431,11 @@ to wrap it in a new subclass of ``TaintTracking::SharedTaintStep`` like this:
|
|||||||
.. code-block:: ql
|
.. code-block:: ql
|
||||||
|
|
||||||
class StepThroughResolveSymlinks extends TaintTracking::SharedTaintStep {
|
class StepThroughResolveSymlinks extends TaintTracking::SharedTaintStep {
|
||||||
override predicate step(DataFlow::Node pred, DataFlow::Node succ) {
|
override predicate step(DataFlow::Node node1, DataFlow::Node node2) {
|
||||||
exists(DataFlow::CallNode c |
|
exists(DataFlow::CallNode c |
|
||||||
c = DataFlow::moduleImport("resolve-symlinks").getACall() and
|
c = DataFlow::moduleImport("resolve-symlinks").getACall() and
|
||||||
pred = c.getArgument(0) and
|
node1 = c.getArgument(0) and
|
||||||
succ = c
|
node2 = c
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,11 +9,11 @@ module CommandLineFileNameConfig implements DataFlow::ConfigSig {
|
|||||||
DataFlow::moduleMember("fs", "readFile").getACall().getArgument(0) = sink
|
DataFlow::moduleMember("fs", "readFile").getACall().getArgument(0) = sink
|
||||||
}
|
}
|
||||||
|
|
||||||
predicate isAdditionalFlowStep(DataFlow::Node pred, DataFlow::Node succ) {
|
predicate isAdditionalFlowStep(DataFlow::Node node1, DataFlow::Node node2) {
|
||||||
exists(DataFlow::CallNode c |
|
exists(DataFlow::CallNode c |
|
||||||
c = DataFlow::moduleImport("resolve-symlinks").getACall() and
|
c = DataFlow::moduleImport("resolve-symlinks").getACall() and
|
||||||
pred = c.getArgument(0) and
|
node1 = c.getArgument(0) and
|
||||||
succ = c
|
node2 = c
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user