We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 06dd3ab commit 6707e34Copy full SHA for 6707e34
1 file changed
javascript/ql/src/semmle/javascript/dataflow/TaintTracking.qll
@@ -737,12 +737,17 @@ module TaintTracking {
737
read = getAStaticCaptureRef()
738
or
739
exists(ControlFlowNode mid |
740
- mid = getANodeReachingCaptureRef(read) and
741
- not mid = getACaptureSetter(_) and
742
- result = mid.getAPredecessor()
+ result = getANodeReachingCaptureRefAux(read, mid) and
+ not mid = getACaptureSetter(_)
743
)
744
}
745
+ pragma[nomagic]
746
+ private ControlFlowNode getANodeReachingCaptureRefAux(DataFlow::PropRead read, ControlFlowNode mid) {
747
+ mid = getANodeReachingCaptureRef(read) and
748
+ result = mid.getAPredecessor()
749
+ }
750
+
751
/**
752
* Holds if there is a step `pred -> succ` from the input of a RegExp match to
753
* a static property of `RegExp` defined.
0 commit comments