summaryrefslogtreecommitdiffstats
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
commit6bc96299b38bb3e56f74436374ebf6518d7a100c (patch)
tree340d65dd9e514d769a8beecc13150d70bfbc1a9a /vm_eval.c
parentbd7e6fc799d1ffde07da3f99763acbc1a0a988d0 (diff)
downloadruby-6bc96299b38bb3e56f74436374ebf6518d7a100c.tar.gz
ruby-6bc96299b38bb3e56f74436374ebf6518d7a100c.tar.xz
ruby-6bc96299b38bb3e56f74436374ebf6518d7a100c.zip
* vm_eval.c, vm_insnhelper.c: argument number is restricted to
int, and fixed overflow. git-svn-id: http://svn.ruby-lang.org/repos/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 8c2e10e61..70bcd11ec 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;
}