[Bug #1329] Ruby 1.8.8 $B$G(B "p eval('0' + '+0.1'*n)" $B$,(B Segmentation Fault $B$rH/@8$5$;$

Bug #1329: Ruby 1.8.8 e$B$Ge(B “p eval(‘0’ + ‘+0.1’*n)” e$B$,e(B
Segmentation Fault e$B$rH/@8$5$;$ke(B
http://redmine.ruby-lang.org/issues/show/1329

e$B5/I<<Te(B: Kenta M.
e$B%9%F!<%?%9e(B: Open, e$BM%@hEYe(B: Normal
e$B%+%F%4%je(B: core, Target version: Ruby 1.8.8
ruby -v: ruby 1.8.8dev (2009-03-19) [i386-darwin9.6.0]

“p eval(‘0’ + ‘+0.1’*n)” e$B$rI>2A$9$k$H!“e(B
n e$B$,$”$kCMe(B N1 e$B$rD6$($?$H$-$Ke(B TypeError e$B$,!“e(B
N2 e$B$rD6$($?$H$-$Ke(B Segmentation Fault e$B$,H/@8$7$^$9!#e(B
N1 e$B$He(B N2 e$B$,%”!<%-%F%/%A%c$K0MB8$9$k$+$I$&$+$OD4$Y$F$^$;$s!#e(B

$ ~/ruby-1.8.8-r23009/bin/ruby -ve “p eval(‘0’+‘+0.1’*4581)”
ruby 1.8.8dev (2009-03-19) [i386-darwin9.6.0]
458.100000000036
$ ~/ruby-1.8.8-r23009/bin/ruby -ve “p eval(‘0’+‘+0.1’*4582)”
ruby 1.8.8dev (2009-03-19) [i386-darwin9.6.0]
-e:1: can’t modify frozen string (TypeError)
$ ~/ruby-1.8.8-r23009/bin/ruby -ve “p eval(‘0’+‘+0.1’*5132)”
ruby 1.8.8dev (2009-03-19) [i386-darwin9.6.0]
-e:1: can’t modify frozen string (TypeError)
$ ~/ruby-1.8.8-r23009/bin/ruby -ve “p eval(‘0’+‘+0.1’*5133)”
ruby 1.8.8dev (2009-03-19) [i386-darwin9.6.0]
Segmentation fault

eval e$B$7$J$1$l$Pe(B TypeError e$B$be(B SEGV
e$B$bH/@8$7$J$$$3$H$O3NG’:Q$G$9!#e(B

$ ~/ruby-1.8.8-r23009/bin/ruby -ve “‘0’+‘+0.1’*5133”
ruby 1.8.8dev (2009-03-19) [i386-darwin9.6.0]
-e:1: warning: useless use of + in void context