summaryrefslogtreecommitdiff
path: root/object.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-08-25 07:06:15 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-08-25 07:06:15 +0000
commit2e61b69722b781724a02dd6d2d59a2dc82a56183 (patch)
tree638337014368e462b3159d458cfadd6fa5732504 /object.c
parent319d2b185be7dda1fc9778da3039e12d347e5e72 (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
Diffstat (limited to 'object.c')
-rw-r--r--object.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/object.c b/object.c
index d40d19efea..c8c39a3695 100644
--- a/object.c
+++ b/object.c
@@ -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);