diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-08-25 07:06:15 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-08-25 07:06:15 +0000 |
commit | 2e61b69722b781724a02dd6d2d59a2dc82a56183 (patch) | |
tree | 638337014368e462b3159d458cfadd6fa5732504 | |
parent | 319d2b185be7dda1fc9778da3039e12d347e5e72 (diff) |
* object.c (sym_call): check if the receiver is given.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | object.c | 6 |
2 files changed, 9 insertions, 1 deletions
@@ -1,3 +1,7 @@ +Fri Aug 25 16:05:50 2006 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * object.c (sym_call): check if the receiver is given. + Wed Aug 23 00:25:14 2006 Nobuyoshi Nakada <nobu@ruby-lang.org> * lib/rexml/source.rb (REXML::IOSource#initialize): encoding have to @@ -1057,8 +1057,12 @@ sym_to_sym(VALUE sym) static VALUE sym_call(VALUE args, VALUE sym) { - VALUE obj = RARRAY(args)->ptr[0]; + VALUE obj; + if (RARRAY(args)->len < 1) { + rb_raise(rb_eArgError, "no receiver given"); + } + obj = RARRAY(args)->ptr[0]; return rb_funcall3(obj, (ID)sym, RARRAY(args)->len - 1, RARRAY(args)->ptr + 1); |