[#69892] [Ruby trunk - Feature #11339] [Open] [PATCH] io.c: avoid kwarg parsing in C API — normalperson@...
Issue #11339 has been reported by Eric Wong.
8 messages
2015/07/07
[#69983] Re: [Ruby trunk - Feature #11339] [Open] [PATCH] io.c: avoid kwarg parsing in C API
— Eric Wong <normalperson@...>
2015/07/15
normalperson@yhbt.net wrote:
[#69990] Re: [Ruby trunk - Feature #11339] [Open] [PATCH] io.c: avoid kwarg parsing in C API
— SASADA Koichi <ko1@...>
2015/07/16
On 2015/07/16 4:41, Eric Wong wrote:
[#69995] Re: [Ruby trunk - Feature #11339] [Open] [PATCH] io.c: avoid kwarg parsing in C API
— Eric Wong <normalperson@...>
2015/07/16
SASADA Koichi <ko1@atdot.net> wrote:
[#69984] $SAFE inside an Array — Bertram Scharpf <lists@...>
Hi,
4 messages
2015/07/15
[#70001] [Ruby trunk - Bug #11336] [Open] TestProcess#test_exec_fd_3_redirect failed on Solaris 10 — ngotogenome@...
Issue #11336 has been updated by Naohisa Goto.
4 messages
2015/07/16
[#70005] Re: [Ruby trunk - Bug #11336] [Open] TestProcess#test_exec_fd_3_redirect failed on Solaris 10
— Eric Wong <normalperson@...>
2015/07/16
Sorry, but I think rb_divert_reserved_fd seems a racy fix. I think the
[#70011] [Ruby trunk - Bug #11362] [Open] [PATCH] ensure Process.kill(:STOP, $$) is resumable — normalperson@...
Issue #11362 has been reported by Eric Wong.
3 messages
2015/07/17
[#70016] [Ruby trunk - Bug #11364] [Open] Use smaller buffer for sendmsg — merch-redmine@...
Issue #11364 has been reported by Jeremy Evans.
8 messages
2015/07/17
[#70052] Re: [Ruby trunk - Bug #11364] [Open] Use smaller buffer for sendmsg
— Eric Wong <normalperson@...>
2015/07/20
merch-redmine@jeremyevans.net wrote:
[#70055] Re: [Ruby trunk - Bug #11364] [Open] Use smaller buffer for sendmsg
— Jeremy Evans <code@...>
2015/07/20
On 07/20 10:46, Eric Wong wrote:
[#70056] Re: [Ruby trunk - Bug #11364] [Open] Use smaller buffer for sendmsg
— Eric Wong <normalperson@...>
2015/07/21
Jeremy Evans <code@jeremyevans.net> wrote:
[#70103] [Ruby trunk - Feature #11375] Decreased Object Allocation in Pathname.rb — richard.schneeman@...
Issue #11375 has been updated by Richard Schneeman.
3 messages
2015/07/23
[#70156] [Ruby trunk - Bug #11396] Bad performance in ruby >= 2.2 for Hash with many symbol keys — dunric29a@...
Issue #11396 has been updated by David Unric.
3 messages
2015/07/28
[ruby-core:69984] $SAFE inside an Array
From:
Bertram Scharpf <lists@...>
Date:
2015-07-15 20:35:12 UTC
List:
ruby-core #69984
Hi, I stepped through the C source code, and the longer I think about it I'm convinced it is a real bug. On Tuesday, 14. Jul 2015, 22:07:32 +0200, Bertram Scharpf wrote: > [On ruby-talk] > > is this an intended behaviour or is it a bug? I did boil > down the problem I detected to the smallest possible code. > > class C > t = Thread.new do > $SAFE = 1 > def inspect > "<C>" > end > end > t.join > end > c = C.new > puts c.inspect > puts [c].inspect > not_reached > > The output is: > > <C> > insecure.rb:12:in `inspect': calling insecure method: inspect (SecurityError) > from insecure.rb:12:in `<main>' > > Why is the first #inspect allowed but the second is not? > Should I still use $SAFE at all? The exception is being raised by the function rb_inspect() but not by rb_obj_inspect(). The function rb_ary_inspect() calls rb_inspect() for the objects it contains. The lonely C#inspect call goes directly to rb_obj_inspect(). When I replace rb_inspect() by rb_obj_inspect() in rb_ary_inspect(), no exception will be raised. Either, Array#inspect should call rb_obj_inspect(), too, so that both lines succeed. The other solution would be that rb_obj_inspect() raises an exception as well. This is a matter of programming logic far beyond the $SAFE mechanism. Please make a decision. Thanks in advance. Bertram -- Bertram Scharpf Stuttgart, Deutschland/Germany http://www.bertram-scharpf.de