diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-05-20 09:58:29 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-05-20 09:58:29 +0000 |
commit | 6bc96299b38bb3e56f74436374ebf6518d7a100c (patch) | |
tree | 340d65dd9e514d769a8beecc13150d70bfbc1a9a /vm_eval.c | |
parent | bd7e6fc799d1ffde07da3f99763acbc1a0a988d0 (diff) | |
download | ruby-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.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -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; } |