mirror of
https://github.com/github/codeql.git
synced 2026-04-24 00:05:14 +02:00
Ruby: modgen - restrict flow summaries to public methods
This commit is contained in:
@@ -12,12 +12,16 @@ private import Util as Util
|
||||
*/
|
||||
module Summaries {
|
||||
private module Config implements DataFlow::ConfigSig {
|
||||
predicate isSource(DataFlow::Node source) { source instanceof DataFlow::ParameterNode }
|
||||
predicate isSource(DataFlow::Node source) {
|
||||
exists(DataFlow::MethodNode methodNode | not methodNode.isPublic() |
|
||||
getAnyParameterNode(methodNode).asSource() = source
|
||||
)
|
||||
}
|
||||
|
||||
predicate isSink(DataFlow::Node sink) { sink = any(DataFlow::MethodNode m).getAReturnNode() }
|
||||
}
|
||||
|
||||
API::Node getAnyParameterNode(DataFlow::MethodNode methodNode) {
|
||||
private API::Node getAnyParameterNode(DataFlow::MethodNode methodNode) {
|
||||
result.asSource() =
|
||||
[
|
||||
methodNode.getParameter(_), methodNode.getKeywordParameter(_),
|
||||
|
||||
Reference in New Issue
Block a user