File tree Expand file tree Collapse file tree
python/ql/src/semmle/python Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -661,9 +661,7 @@ class RegexExecution extends DataFlow::Node {
661661
662662module RegexExecution {
663663 abstract class Range extends DataFlow:: Node {
664- DataFlow:: Node getRegexNode ( ) {
665- result instanceof DirectRegex or result instanceof CompiledRegex
666- }
664+ abstract DataFlow:: Node getRegexNode ( ) ;
667665 }
668666}
669667
Original file line number Diff line number Diff line change @@ -875,7 +875,7 @@ private module Stdlib {
875875 }
876876
877877 /** re.ReMethod(pattern, string) */
878- private class DirectRegex extends DataFlow :: Node {
878+ private class DirectRegex extends RegexExecution :: Range {
879879 DirectRegex ( ) {
880880 exists ( ReMethods reMethod , DataFlow:: CallCfgNode reCall |
881881 reCall = API:: moduleImport ( "re" ) .getMember ( reMethod ) .getACall ( ) and
@@ -885,7 +885,7 @@ private module Stdlib {
885885 }
886886
887887 /** re.compile(pattern).ReMethod */
888- private class CompiledRegex extends DataFlow :: Node {
888+ private class CompiledRegex extends RegexExecution :: Range {
889889 CompiledRegex ( ) {
890890 exists ( DataFlow:: CallCfgNode patternCall , DataFlow:: AttrRead reMethod |
891891 patternCall = API:: moduleImport ( "re" ) .getMember ( "compile" ) .getACall ( ) and
@@ -896,7 +896,7 @@ private module Stdlib {
896896 }
897897 }
898898
899- private class RegexEscape extends Concepts :: RegexExecution {
899+ private class RegexEscape extends DataFlow :: Node {
900900 RegexEscape ( ) {
901901 this =
902902 API:: moduleImport ( "re" ) .getMember ( "escape" ) .getACall ( ) .( DataFlow:: CallCfgNode ) .getArg ( 0 )
You can’t perform that action at this time.
0 commit comments