diff options
author | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-01-29 13:27:51 +0000 |
---|---|---|
committer | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-01-29 13:27:51 +0000 |
commit | 45ef2e8ef26f6b49b82db14e1176466447542b01 (patch) | |
tree | 44c02b952a15365f9b07050e3270f45d70682bf3 | |
parent | e1b85cbf17f3da7078452890edfc9c6e8cd7c001 (diff) |
* range.c: fix SEGV by ("a" .. "z").step(2 ** 30) { }.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15325 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | range.c | 3 |
2 files changed, 5 insertions, 2 deletions
@@ -1,3 +1,7 @@ +Tue Jan 29 22:27:11 2008 Yusuke Endoh <mame@tsg.ne.jp> + + * range.c: fix SEGV by ("a" .. "z").step(2 ** 30) { }. + Tue Jan 29 21:59:16 2008 Tanaka Akira <akr@fsij.org> * enc/euc_tw.c (euctw_islead): 0x8e is a leading byte. @@ -252,8 +252,7 @@ step_i(VALUE i, void *arg) iter[0] -= INT2FIX(1) & ~FIXNUM_FLAG; } else { - VALUE one = INT2FIX(1); - iter[0] = rb_funcall(iter[0], '-', 1, &one); + iter[0] = rb_funcall(iter[0], '-', 1, INT2FIX(1)); } if (iter[0] == INT2FIX(0)) { rb_yield(i); |