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 | 53812198daa147f1e77e29b0b417cc0e9736c371 (patch) | |
tree | 340d65dd9e514d769a8beecc13150d70bfbc1a9a /vm_eval.c | |
parent | 6494314d2a53bb550119672bedcb69f3457aac91 (diff) | |
download | ruby-53812198daa147f1e77e29b0b417cc0e9736c371.tar.gz |
* 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.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; } |