mirror of
https://github.com/github/codeql.git
synced 2025-12-17 01:03:14 +01:00
ruby: fix FP
This commit is contained in:
@@ -13,9 +13,9 @@
|
||||
|
||||
import codeql.ruby.AST
|
||||
import codeql.ruby.dataflow.SSA
|
||||
private import codeql.ruby.dataflow.internal.DataFlowPublic
|
||||
import codeql.ruby.controlflow.internal.Guards as Guards
|
||||
import codeql.ruby.controlflow.CfgNodes
|
||||
import codeql.ruby.ast.internal.Variable
|
||||
|
||||
private predicate isInBooleanContext(AstNode n) {
|
||||
exists(ConditionalExpr i |
|
||||
@@ -72,7 +72,8 @@ private predicate isNilChecked(LocalVariableReadAccess read) {
|
||||
)
|
||||
}
|
||||
|
||||
class RelevantLocalVariableReadAccess extends LocalVariableReadAccess {
|
||||
class RelevantLocalVariableReadAccess extends LocalVariableReadAccess instanceof TVariableAccessReal
|
||||
{
|
||||
RelevantLocalVariableReadAccess() {
|
||||
not isInBooleanContext(this) and
|
||||
not isNilChecked(this) and
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
| UninitializedLocal.rb:12:3:12:3 | m | Local variable $@ may be used before it is initialized. | UninitializedLocal.rb:8:7:8:7 | m | m |
|
||||
| UninitializedLocal.rb:34:5:34:5 | b | Local variable $@ may be used before it is initialized. | UninitializedLocal.rb:27:9:27:9 | b | b |
|
||||
| UninitializedLocal.rb:34:23:34:23 | b | Local variable $@ may be used before it is initialized. | UninitializedLocal.rb:27:9:27:9 | b | b |
|
||||
| UninitializedLocal.rb:73:9:73:9 | i | Local variable $@ may be used before it is initialized. | UninitializedLocal.rb:73:9:73:9 | i | i |
|
||||
| UninitializedLocal.rb:76:5:76:5 | i | Local variable $@ may be used before it is initialized. | UninitializedLocal.rb:73:9:73:9 | i | i |
|
||||
|
||||
@@ -70,7 +70,7 @@ def test_loop
|
||||
end
|
||||
|
||||
def test_for
|
||||
for i in 0..10 #$ SPURIOUS: Alert
|
||||
for i in 0..10 # OK - since 0..10 cannot raise
|
||||
i
|
||||
end
|
||||
i #$ SPURIOUS: Alert
|
||||
|
||||
Reference in New Issue
Block a user