File tree Expand file tree Collapse file tree 1 file changed +24
-0
lines changed
python/ql/lib/semmle/python/frameworks Expand file tree Collapse file tree 1 file changed +24
-0
lines changed Original file line number Diff line number Diff line change @@ -4372,6 +4372,30 @@ private module StdlibPrivate {
4372
4372
preservesValue = false
4373
4373
}
4374
4374
}
4375
+
4376
+ /**
4377
+ * A flow summary for `os.getenv` / `os.getenvb`
4378
+ *
4379
+ * See https://devdocs.io/python~3.11/library/os#os.getenv
4380
+ */
4381
+ class OsGetEnv extends SummarizedCallable {
4382
+ OsGetEnv ( ) { this = "os.getenv" }
4383
+
4384
+ override DataFlow:: CallCfgNode getACall ( ) {
4385
+ result = API:: moduleImport ( "os" ) .getMember ( [ "getenv" , "getenvb" ] ) .getACall ( )
4386
+ }
4387
+
4388
+ override DataFlow:: ArgumentNode getACallback ( ) {
4389
+ result =
4390
+ API:: moduleImport ( "os" ) .getMember ( [ "getenv" , "getenvb" ] ) .getAValueReachableFromSource ( )
4391
+ }
4392
+
4393
+ override predicate propagatesFlowExt ( string input , string output , boolean preservesValue ) {
4394
+ input in [ "Argument[1]" , "Argument[default:]" ] and
4395
+ output = "ReturnValue" and
4396
+ preservesValue = true
4397
+ }
4398
+ }
4375
4399
}
4376
4400
4377
4401
// ---------------------------------------------------------------------------
You can’t perform that action at this time.
0 commit comments