Project

General

Profile

« Previous | Next » 

Revision e9a4cc02

Added by mame (Yusuke Endoh) almost 4 years ago

[ruby/error_highlight] Add a test to check if it is robust against a spoofed filename

Previously, RubyVM::AST.of opened a wrong file if the iseq's file path is spoofed.

module Dummy binding.irb end 
$ ruby test.rb From: test.rb @ line 2 : 1: module Dummy => 2: binding.irb 3: end irb(Dummy):001:0> foo /home/mame/work/ruby/local/lib/ruby/3.1.0/error_highlight/base.rb:412:in `spot_colon2': undefined method `last_lineno' for nil:NilClass (NoMethodError) if nd_parent.last_lineno == @node.last_lineno ^^^^^^^^^^^^ 

Found by @kateinoigakukun

This issue is already fixed in the interpreter side.
This change just adds a test for the case.

https://github.com/ruby/error_highlight/commit/f3626b9032