summaryrefslogtreecommitdiff
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
commit45ef2e8ef26f6b49b82db14e1176466447542b01 (patch)
tree44c02b952a15365f9b07050e3270f45d70682bf3 /range.c
parente1b85cbf17f3da7078452890edfc9c6e8cd7c001 (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.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/range.c b/range.c
index 7999283b95..cc254d660a 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);