Skip to content

Commit 9f2f6ac

Browse files
authored
Merge pull request github#10745 from hvitved/ruby/cache-library-flow
Ruby: Cache use of `DataFlowImplFor(Pathname|HttpClientLibraries)`
2 parents 4b1f6f0 + efa6b3c commit 9f2f6ac

File tree

9 files changed

+10
-0
lines changed

9 files changed

+10
-0
lines changed

ruby/ql/lib/codeql/ruby/frameworks/http_clients/Excon.qll

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ class ExconHttpRequest extends Http::Client::Request::Range, DataFlow::CallNode
7070
)
7171
}
7272

73+
cached
7374
override predicate disablesCertificateValidation(
7475
DataFlow::Node disablingNode, DataFlow::Node argumentOrigin
7576
) {

ruby/ql/lib/codeql/ruby/frameworks/http_clients/Faraday.qll

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ class FaradayHttpRequest extends Http::Client::Request::Range, DataFlow::CallNod
7171
)
7272
}
7373

74+
cached
7475
override predicate disablesCertificateValidation(
7576
DataFlow::Node disablingNode, DataFlow::Node argumentOrigin
7677
) {

ruby/ql/lib/codeql/ruby/frameworks/http_clients/HttpClient.qll

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ class HttpClientRequest extends Http::Client::Request::Range, DataFlow::CallNode
6161
.getArgument(0)
6262
}
6363

64+
cached
6465
override predicate disablesCertificateValidation(
6566
DataFlow::Node disablingNode, DataFlow::Node argumentOrigin
6667
) {

ruby/ql/lib/codeql/ruby/frameworks/http_clients/Httparty.qll

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ class HttpartyRequest extends Http::Client::Request::Range, DataFlow::CallNode {
5353
result = this.getKeywordArgumentIncludeHashArgument(["verify", "verify_peer"])
5454
}
5555

56+
cached
5657
override predicate disablesCertificateValidation(
5758
DataFlow::Node disablingNode, DataFlow::Node argumentOrigin
5859
) {

ruby/ql/lib/codeql/ruby/frameworks/http_clients/NetHttp.qll

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ class NetHttpRequest extends Http::Client::Request::Range, DataFlow::CallNode {
8080
)
8181
}
8282

83+
cached
8384
override predicate disablesCertificateValidation(
8485
DataFlow::Node disablingNode, DataFlow::Node argumentOrigin
8586
) {

ruby/ql/lib/codeql/ruby/frameworks/http_clients/OpenURI.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ class OpenUriRequest extends Http::Client::Request::Range, DataFlow::CallNode {
4242
result = this.getKeywordArgumentIncludeHashArgument("ssl_verify_mode")
4343
}
4444

45+
cached
4546
override predicate disablesCertificateValidation(
4647
DataFlow::Node disablingNode, DataFlow::Node argumentOrigin
4748
) {
@@ -91,6 +92,7 @@ class OpenUriKernelOpenRequest extends Http::Client::Request::Range, DataFlow::C
9192
)
9293
}
9394

95+
cached
9496
override predicate disablesCertificateValidation(
9597
DataFlow::Node disablingNode, DataFlow::Node argumentOrigin
9698
) {

ruby/ql/lib/codeql/ruby/frameworks/http_clients/RestClient.qll

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ class RestClientHttpRequest extends Http::Client::Request::Range, DataFlow::Call
5454
)
5555
}
5656

57+
cached
5758
override predicate disablesCertificateValidation(
5859
DataFlow::Node disablingNode, DataFlow::Node argumentOrigin
5960
) {

ruby/ql/lib/codeql/ruby/frameworks/http_clients/Typhoeus.qll

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ class TyphoeusHttpRequest extends Http::Client::Request::Range, DataFlow::CallNo
3434
result = this.getKeywordArgumentIncludeHashArgument("ssl_verifypeer")
3535
}
3636

37+
cached
3738
override predicate disablesCertificateValidation(
3839
DataFlow::Node disablingNode, DataFlow::Node argumentOrigin
3940
) {

ruby/ql/lib/codeql/ruby/frameworks/stdlib/Pathname.qll

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ module Pathname {
2727
* Every `PathnameInstance` is considered to be a `FileNameSource`.
2828
*/
2929
class PathnameInstance extends FileNameSource {
30+
cached
3031
PathnameInstance() { any(PathnameConfiguration c).hasFlowTo(this) }
3132
}
3233

0 commit comments

Comments
 (0)