This commit is contained in:
Rasmus Wriedt Larsen 2023-08-14 11:55:00 +02:00
Родитель 6e168ff7d8
Коммит 794d04e4c0
Не найден ключ, соответствующий данной подписи
1 изменённых файлов: 24 добавлений и 0 удалений

Просмотреть файл

@ -4372,6 +4372,30 @@ private module StdlibPrivate {
preservesValue = false
}
}
/**
* A flow summary for `os.getenv` / `os.getenvb`
*
* See https://devdocs.io/python~3.11/library/os#os.getenv
*/
class OsGetEnv extends SummarizedCallable {
OsGetEnv() { this = "os.getenv" }
override DataFlow::CallCfgNode getACall() {
result = API::moduleImport("os").getMember(["getenv", "getenvb"]).getACall()
}
override DataFlow::ArgumentNode getACallback() {
result =
API::moduleImport("os").getMember(["getenv", "getenvb"]).getAValueReachableFromSource()
}
override predicate propagatesFlowExt(string input, string output, boolean preservesValue) {
input in ["Argument[1]", "Argument[default:]"] and
output = "ReturnValue" and
preservesValue = true
}
}
}
// ---------------------------------------------------------------------------