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 /range.c | |
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
Diffstat (limited to 'range.c')
-rw-r--r-- | range.c | 3 |
1 files changed, 1 insertions, 2 deletions
@@ -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); |