From d749616333e092b13948405164f4799b2884eddd Mon Sep 17 00:00:00 2001 From: nobu Date: Mon, 23 Jun 2003 17:40:14 +0000 Subject: [PATCH] * array.c (rb_ary_unshift_m): need to check number of arguments. [ruby-talk:74189] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ array.c | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index cbe29c617c..80b34476c4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Tue Jun 24 02:40:09 2003 Nobuyoshi Nakada + + * array.c (rb_ary_unshift_m): need to check number of arguments. + [ruby-talk:74189] + Mon Jun 23 23:59:56 2003 Minero Aoki * io.c (io_close): missing prototype. diff --git a/array.c b/array.c index 5aa268bd82..69bf714e6f 100644 --- a/array.c +++ b/array.c @@ -427,7 +427,12 @@ rb_ary_unshift_m(argc, argv, ary) VALUE ary; { long len = RARRAY(ary)->len; - + + if (argc < 0) { + rb_raise(rb_eArgError, "negative number of arguments"); + } + if (argc == 0) return ary; + /* make rooms by setting the last item */ rb_ary_store(ary, len + argc - 1, Qnil);