qtil
advanced-security/qtil-ruby 0.0.2
Search

Module Cached

Import path

import codeql.ruby.dataflow.internal.SsaImpl

Predicates

adjacentReadPair

Holds if the read at read2 is a read of the same SSA definition def as the read at read1, and read2 can be reached from read1 without passing through another non-pseudo read.

adjacentReadPairExt

Holds if the read at read2 is a read of the same SSA definition def as the read at read1, and read2 can be reached from read1 without passing through another non-pseudo read.

captureFlowIn

Holds if there is flow for a captured variable from the enclosing scope into a block. rb foo = 0 bar { puts foo }

captureFlowOut

Holds if there is outgoing flow for a captured variable that is updated in a block. rb foo = 0 bar { foo += 10 } puts foo

capturedCallWrite

Holds if the call call at index i in basic block bb may reach a callable that writes captured variable v.

capturedEntryWrite

Holds if an entry definition is needed for captured variable v at index i in entry block bb.

firstRead

Holds if the value defined at SSA definition def can reach a read at read, without passing through any other non-pseudo read.

firstReadExt

Holds if the value defined at SSA definition def can reach a read at read, without passing through any other non-pseudo read.

getARead
lastRead

Holds if the read of def at read may be a last read. That is, read can either reach another definition of the underlying source variable or the end of the CFG scope, without passing through another non-pseudo read.

lastRefBeforeRedefExt

Holds if the reference to def at index i in basic block bb can reach another definition next of the same underlying source variable, without passing through another write or non-pseudo read.

phiHasInputFromBlock
uncertainWriteDefinitionInput
variableWriteActual

Holds if v is written at index i in basic block bb, and the corresponding AST write access is write.