@@ -3,26 +3,30 @@ private import experimental.semmle.python.Concepts
33private import semmle.python.dataflow.new.DataFlow
44private import semmle.python.ApiGraphs
55
6-
76private module Zip {
8-
97 private class CopyFiles extends DataFlow:: CallCfgNode , CopyFile:: Range {
10- CopyFiles ( ) {
11- this = API:: moduleImport ( "shutil" ) .getMember ( [ "copyfile" , "copy" , "copy2" , "copytree" , "move" ] ) .getACall ( )
12- }
13- override DataFlow:: Node getAPathArgument ( ) {
14- result in [ this .getArg ( 0 ) , this .getArgByName ( "src" ) , this .getArg ( 1 ) , this .getArgByName ( "dst" ) ]
15- }
8+ CopyFiles ( ) {
9+ this =
10+ API:: moduleImport ( "shutil" )
11+ .getMember ( [ "copyfile" , "copy" , "copy2" , "copytree" , "move" ] )
12+ .getACall ( )
13+ }
14+
15+ override DataFlow:: Node getAPathArgument ( ) {
16+ result in [ this .getArg ( 0 ) , this .getArgByName ( "src" ) , this .getArg ( 1 ) , this .getArgByName ( "dst" ) ]
17+ }
1618 }
17-
19+
1820 private class CopyFileobj extends DataFlow:: CallCfgNode , CopyFile:: Range {
19- CopyFileobj ( ) {
20- this = API:: moduleImport ( "shutil" ) .getMember ( "copyfileobj" ) .getACall ( )
21- }
22- override DataFlow:: Node getAPathArgument ( ) {
23- result in [ this .getArg ( 0 ) , this .getArgByName ( "fsrc" ) , this .getArg ( 1 ) , this .getArgByName ( "fdst" ) ]
24- }
25- }
21+ CopyFileobj ( ) { this = API:: moduleImport ( "shutil" ) .getMember ( "copyfileobj" ) .getACall ( ) }
2622
23+ override DataFlow:: Node getAPathArgument ( ) {
24+ result in [
25+ this .getArg ( 0 ) , this .getArgByName ( "fsrc" ) , this .getArg ( 1 ) , this .getArgByName ( "fdst" )
26+ ]
27+ }
28+ }
2729}
2830
31+
32+
0 commit comments