diff --git a/ruby/ql/lib/codeql/ruby/ast/Expr.qll b/ruby/ql/lib/codeql/ruby/ast/Expr.qll index e45c6310f29..b127dec6807 100644 --- a/ruby/ql/lib/codeql/ruby/ast/Expr.qll +++ b/ruby/ql/lib/codeql/ruby/ast/Expr.qll @@ -397,7 +397,8 @@ class RescueClause extends Expr, TRescueClause { or // For 0 or 1 exceptions, exceptions are direct children not exists(this.getExceptions()) and - pred = "getException" and result = this.getException(_) + pred = "getException" and + result = this.getException(_) or // For 2+ exceptions, the ExceptionList node is the direct child pred = "getExceptions" and result = this.getExceptions() diff --git a/ruby/ql/lib/codeql/ruby/ast/internal/AST.qll b/ruby/ql/lib/codeql/ruby/ast/internal/AST.qll index 1faba695a93..45e75000f65 100644 --- a/ruby/ql/lib/codeql/ruby/ast/internal/AST.qll +++ b/ruby/ql/lib/codeql/ruby/ast/internal/AST.qll @@ -377,8 +377,7 @@ private module Cached { TDelimitedSymbolLiteral or TDestructuredLeftAssignment or TDestructuredParameter or TDivExprReal or TDo or TDoBlock or TElementReference or TElseReal or TElsif or TEmptyStmt or TEncoding or TEndBlock or TEnsure or TEqExpr or TExceptionList or TExponentExprReal or - TFalseLiteral or - TFile or TFindPattern or TFloatLiteral or TForExpr or TForwardParameter or + TFalseLiteral or TFile or TFindPattern or TFloatLiteral or TForExpr or TForwardParameter or TForwardArgument or TGEExpr or TGTExpr or TGlobalVariableAccessReal or THashKeySymbolLiteral or THashLiteral or THashPattern or THashSplatExprReal or THashSplatNilParameter or THashSplatParameter or THereDoc or TIdentifierMethodCall or