mirror of
https://github.com/github/codeql.git
synced 2026-04-28 10:15:14 +02:00
Ruby: Simplify imports
This commit is contained in:
@@ -12,7 +12,7 @@ private import codeql.ruby.security.IncompleteMultiCharacterSanitization
|
||||
* `dangerous` which matches a dangerous string beginning with `prefix`, in
|
||||
* attempt to avoid a vulnerability of kind `kind`.
|
||||
*/
|
||||
predicate hasResult(
|
||||
query predicate problems(
|
||||
StringSubstitutionCall replace, EmptyReplaceRegExpTerm dangerous, string prefix, string kind
|
||||
) {
|
||||
exists(EmptyReplaceRegExpTerm regexp |
|
||||
|
||||
@@ -13,15 +13,11 @@
|
||||
* external/cwe/cwe-116
|
||||
*/
|
||||
|
||||
import ruby
|
||||
import codeql.ruby.frameworks.core.String
|
||||
import codeql.ruby.DataFlow
|
||||
import codeql.ruby.security.IncompleteMultiCharacterSanitizationQuery
|
||||
import codeql.ruby.security.IncompleteMultiCharacterSanitizationSpecific as Specific
|
||||
import codeql.ruby.security.IncompleteMultiCharacterSanitizationQuery as Query
|
||||
import codeql.ruby.regexp.RegExpTreeView
|
||||
|
||||
from
|
||||
StringSubstitutionCall replace, Specific::EmptyReplaceRegExpTerm dangerous, string prefix,
|
||||
string kind
|
||||
where hasResult(replace, dangerous, prefix, kind)
|
||||
from DataFlow::Node replace, RegExpTerm dangerous, string prefix, string kind
|
||||
where Query::problems(replace, dangerous, prefix, kind)
|
||||
select replace, "This string may still contain $@, which may cause a " + kind + " vulnerability.",
|
||||
dangerous, prefix
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
*/
|
||||
|
||||
import ruby
|
||||
import codeql.ruby.regexp.RegExpTreeView as RETV
|
||||
import codeql.ruby.DataFlow
|
||||
import codeql.ruby.security.IncompleteMultiCharacterSanitizationQuery as Query
|
||||
import codeql.ruby.security.IncompleteMultiCharacterSanitizationSpecific as Specific
|
||||
import codeql.ruby.frameworks.core.String
|
||||
import TestUtilities.InlineExpectationsTest
|
||||
|
||||
class Test extends InlineExpectationsTest {
|
||||
@@ -20,15 +20,12 @@ class Test extends InlineExpectationsTest {
|
||||
}
|
||||
|
||||
predicate hasResult(Location location, string element, string value) {
|
||||
exists(
|
||||
StringSubstitutionCall replace, Specific::EmptyReplaceRegExpTerm dangerous, string prefix,
|
||||
string kind
|
||||
|
|
||||
exists(DataFlow::Node replace, RETV::RegExpTerm dangerous, string prefix, string kind |
|
||||
replace.getLocation() = location and
|
||||
element = replace.toString() and
|
||||
value = shortKind(kind)
|
||||
|
|
||||
Query::hasResult(replace, dangerous, prefix, kind)
|
||||
Query::problems(replace, dangerous, prefix, kind)
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user