#773: Segfault occurs when specified $SAFE=4 and exception is generated.
----------------------------------+-----------------------------------------
Reporter: watson1...@… | Owner: lsansone...@…
Type: defect | Status: new
Priority: blocker | Milestone:
Component: MacRuby | Keywords:
----------------------------------+-----------------------------------------
Test Script:
{{{
$ cat test_bus_error.rb
level = ARGV[0].to_i
$SAFE = level
# generate an exception each level.
case level
when 1
eval(ARGV[0])
when 2
Dir.chdir("..")
when 3
str = "hello"
str.untaint
when 4
puts "test"
end
}}}
Result of MacRuby 0.6:
{{{
$ macruby test_bus_error.rb 1
/Users/watson/test/ruby/macruby/segfault/test_bus_error.rb:2:in `<main>':
Insecure operation: -r (SecurityError)
$ macruby test_bus_error.rb 2
/Users/watson/test/ruby/macruby/segfault/test_bus_error.rb:2:in `<main>':
Insecure operation at level 2 (SecurityError)
$ macruby test_bus_error.rb 3
/Users/watson/test/ruby/macruby/segfault/test_bus_error.rb:2:in `<main>':
Insecure operation at level 3 (SecurityError)
$ macruby test_bus_error.rb 4
zsh: illegal hardware instruction macruby test_bus_error.rb 4
}}}
Result of MacRuby Trunk:
{{{
$ macruby test_bus_error.rb 1
/Users/watson/test/ruby/macruby/segfault/test_bus_error.rb:2:in `<main>':
Insecure operation: -r (SecurityError)
$ macruby test_bus_error.rb 2
/Users/watson/test/ruby/macruby/segfault/test_bus_error.rb:2:in `<main>':
Insecure operation at level 2 (SecurityError)
$ macruby test_bus_error.rb 3
/Users/watson/test/ruby/macruby/segfault/test_bus_error.rb:2:in `<main>':
Insecure operation at level 3 (SecurityError)
$ macruby test_bus_error.rb 4
zsh: segmentation fault macruby test_bus_error.rb 4
}}}
--
Ticket URL: <http://www.macruby.org/trac/ticket/773>
MacRuby <http://macruby.org/>
_______________________________________________
MacRuby-devel mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel