Issue #2710 has been updated by mame (Yusuke Endoh).


Closing this because of no discussion for seven years.  I think it is too late to change the behavior just for consistency.

----------------------------------------
Feature #2710: Kernel#load loads a relative path
https://bugs.ruby-lang.org/issues/2710#change-67521

* Author: brixen (Brian Shirai)
* Status: Assigned
* Priority: Normal
* Assignee: akr (Akira Tanaka)
* Target version: next minor
----------------------------------------
=begin
 It was my understanding that Kernel#require was changed to not load a relative path because of a security issue (http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/24155). Does this security issue not apply to Kernel#load, too? Have I misunderstood the expected behavior?
 
 $ cat a.rb 
 puts 1
 
 $ cat b.rb 
 load 'a.rb'
 require 'a.rb'
 
 $ ruby1.8.7 -v b.rb 
 ruby 1.8.7 (2009-12-24 patchlevel 248) [i686-darwin9.8.0]
 1
 1
 
 $ ruby1.9 -v b.rb 
 ruby 1.9.2dev (2010-02-03 trunk 26546) [i386-darwin9.8.0]
 1
 b.rb:2:in `require': no such file to load -- a.rb (LoadError)
         from b.rb:2:in `<main>'
 
 $ RUBYLIB=. ruby1.9 -v b.rb 
 ruby 1.9.2dev (2010-02-03 trunk 26546) [i386-darwin9.8.0]
 1
 1
 
 Thanks,
 Brian
=end




-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>