ruby: fix FP

This commit is contained in:
yoff
2025-04-11 13:22:42 +02:00
parent 6e2cfab7b2
commit b641d5f177
3 changed files with 4 additions and 4 deletions

View File

@@ -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

View File

@@ -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 |

View File

@@ -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