From: Kazuhiko Date: 2011-09-25T03:47:10+09:00 Subject: [ruby-dev:44541] Re: [Ruby 1.9 - Bug #5279] $SAFEが3以上の時にString#encodeがSecurityErrorを発生させるケースがある かずひこです。 On 06/09/2011 12:10, Kazuhiko wrote: > On 06/09/2011 06:10, Shota Fukumori (sora_h) wrote: >> じゃぁ,大丈夫かな. >> >> P.S.: このバグについてのテストケースは今書いています. >> >> 2011/9/6 NARUSE, Yui : >>> なので、安全だと考えています。 >>> (もちろん C API たたいて横から割り込んだ時はこの限りではない) > > r33201 で修正されましたが、これは1.9.3ブランチにバックポートされますか? Yuguiさんが1.9.3ブランチにバックポートしてくださって、先ほどめでたく 1.9.3RC1が出た今ころになって気づいて、ものすごく申し訳ないのです が、$SAFE=3の時は動くけれど、$SAFE=4だと相変わらず失敗するようです。 以下、1.9.3RC1での挙動です。 $ ruby1.9 -v ruby 1.9.3dev (2011-09-23 revision 33323) [x86_64-linux] $ ruby1.9 -e '$SAFE=3;"a".encode("utf-16be")' (no exception) $ ruby1.9 -e '$SAFE=4;"a".encode("utf-16be")' -e:1: warning: failed to load encoding (utf-16be); use ASCII-8BIT instead $ ruby1.9 -e ' "a".encode("utf-16be");$SAFE=4;"a".encode("utf-16be")' (no exception) かずひこ