File tree Expand file tree Collapse file tree 1 file changed +4
-4
lines changed
python/ql/lib/semmle/python/regexp/internal Expand file tree Collapse file tree 1 file changed +4
-4
lines changed Original file line number Diff line number Diff line change @@ -15,7 +15,7 @@ private import semmle.python.dataflow.new.DataFlow
15
15
private import semmle.python.Concepts as Concepts
16
16
17
17
/** Gets a constant string value that may be used as a regular expression. */
18
- DataFlow:: Node strStart ( ) { result .asExpr ( ) instanceof StrConst }
18
+ DataFlow:: LocalSourceNode strStart ( ) { result .asExpr ( ) instanceof StrConst }
19
19
20
20
private import semmle.python.regex as Regex
21
21
@@ -44,7 +44,7 @@ private DataFlow::TypeTrackingNode backwards(DataFlow::TypeBackTracker t) {
44
44
private DataFlow:: TypeTrackingNode forwards ( DataFlow:: TypeTracker t ) {
45
45
t .start ( ) and
46
46
result = backwards ( DataFlow:: TypeBackTracker:: end ( ) ) and
47
- result . flowsTo ( strStart ( ) )
47
+ result = strStart ( )
48
48
or
49
49
exists ( DataFlow:: TypeTracker t2 | result = forwards ( t2 ) .track ( t2 , t ) ) and
50
50
result = backwards ( _)
@@ -57,11 +57,11 @@ private DataFlow::TypeTrackingNode forwards(DataFlow::TypeTracker t) {
57
57
* The result of the exploratory phase is used to limit the size of the search space in this precise analysis.
58
58
*/
59
59
private DataFlow:: TypeTrackingNode regexTracking ( DataFlow:: Node start , DataFlow:: TypeTracker t ) {
60
- result = forwards ( _ ) and
60
+ result = forwards ( t ) and
61
61
(
62
62
t .start ( ) and
63
63
start = strStart ( ) and
64
- result = start . getALocalSource ( )
64
+ result = start
65
65
or
66
66
exists ( DataFlow:: TypeTracker t2 | result = regexTracking ( start , t2 ) .track ( t2 , t ) )
67
67
)
You can’t perform that action at this time.
0 commit comments