summaryrefslogtreecommitdiff
path: root/vm_eval.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-05-20 09:58:29 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-05-20 09:58:29 +0000
commit53812198daa147f1e77e29b0b417cc0e9736c371 (patch)
tree340d65dd9e514d769a8beecc13150d70bfbc1a9a /vm_eval.c
parent6494314d2a53bb550119672bedcb69f3457aac91 (diff)
* vm_eval.c, vm_insnhelper.c: argument number is restricted to
int, and fixed overflow. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23498 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm_eval.c')
-rw-r--r--vm_eval.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/vm_eval.c b/vm_eval.c
index 8c2e10e619..70bcd11ec8 100644
--- a/vm_eval.c
+++ b/vm_eval.c
@@ -69,7 +69,7 @@ vm_call0(rb_thread_t * th, VALUE klass, VALUE recv, VALUE id, ID oid,
cfp->method_id = oid;
cfp->method_class = klass;
- val = call_cfunc(body->nd_cfnc, recv, body->nd_argc, argc, argv);
+ val = call_cfunc(body->nd_cfnc, recv, (int)body->nd_argc, argc, argv);
if (reg_cfp != th->cfp + 1) {
SDR2(reg_cfp);
@@ -199,12 +199,12 @@ rb_call0(VALUE klass, VALUE recv, ID mid, int argc, const VALUE *argv,
return method_missing(recv, mid, argc, argv,
scope == 2 ? NOEX_VCALL : 0);
id = ent->mid0;
- noex = ent->method->nd_noex;
+ noex = (int)ent->method->nd_noex;
klass = ent->method->nd_clss;
body = ent->method->nd_body;
}
else if ((method = rb_get_method_body(klass, id, &id)) != 0) {
- noex = method->nd_noex;
+ noex = (int)method->nd_noex;
klass = method->nd_clss;
body = method->nd_body;
}