File tree Expand file tree Collapse file tree
python/ql/lib/semmle/python/frameworks Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -4372,6 +4372,30 @@ private module StdlibPrivate {
43724372 preservesValue = false
43734373 }
43744374 }
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+ }
43754399}
43764400
43774401// ---------------------------------------------------------------------------
You can’t perform that action at this time.
0 commit comments