summaryrefslogtreecommitdiffstats
path: root/range.c
diff options
context:
space:
mode:
authormame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-01-29 13:27:51 +0000
committermame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-01-29 13:27:51 +0000
commitf13e70e736931e323259f59f4ff2d5fa85dc869d (patch)
tree44c02b952a15365f9b07050e3270f45d70682bf3 /range.c
parenteb40a79b81cb493491eea914df3d0b8478f0dd52 (diff)
downloadruby-f13e70e736931e323259f59f4ff2d5fa85dc869d.tar.gz
ruby-f13e70e736931e323259f59f4ff2d5fa85dc869d.tar.xz
ruby-f13e70e736931e323259f59f4ff2d5fa85dc869d.zip
* range.c: fix SEGV by ("a" .. "z").step(2 ** 30) { }.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@15325 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'range.c')
-rw-r--r--range.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/range.c b/range.c
index 7999283b9..cc254d660 100644
--- a/range.c
+++ b/range.c
@@ -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);