From 8fbe1c0d1b1684f26b204c4b6ae09bf26cec3343 Mon Sep 17 00:00:00 2001 From: nobu Date: Fri, 25 Aug 2006 07:06:15 +0000 Subject: * object.c (sym_call): check if the receiver is given. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@10770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ object.c | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 4d6587783..d35c2c46d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Fri Aug 25 16:05:50 2006 Nobuyoshi Nakada + + * object.c (sym_call): check if the receiver is given. + Wed Aug 23 00:25:14 2006 Nobuyoshi Nakada * lib/rexml/source.rb (REXML::IOSource#initialize): encoding have to diff --git a/object.c b/object.c index d40d19efe..c8c39a369 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); -- cgit