diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | array.c | 7 |
2 files changed, 11 insertions, 1 deletions
@@ -1,3 +1,8 @@ +Tue Jun 24 02:40:09 2003 Nobuyoshi Nakada <nobu.nokada@softhome.net> + + * array.c (rb_ary_unshift_m): need to check number of arguments. + [ruby-talk:74189] + Mon Jun 23 23:59:56 2003 Minero Aoki <aamine@loveruby.net> * io.c (io_close): missing prototype. @@ -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); |