From 91d2e58f1dab1c7ef4a234cdb38935c6719f8fc1 Mon Sep 17 00:00:00 2001 From: matz Date: Wed, 29 Oct 2003 02:30:08 +0000 Subject: [PATCH] * parse.y (ret_args): node may be NULL. [ruby-talk:84530] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4852 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ lib/cgi.rb | 2 +- parse.y | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 71e5ef160e..ffbd5e51f2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Wed Oct 29 11:27:39 2003 Yukihiro Matsumoto + + * parse.y (ret_args): node may be NULL. [ruby-talk:84530] + Tue Oct 28 15:20:12 2003 NAKAMURA Usaku * ext/tcltklib/tcltklib.c (VwaitVarProc, ip_rbVwaitObjCmd, diff --git a/lib/cgi.rb b/lib/cgi.rb index c380f9a9d4..82318707d6 100644 --- a/lib/cgi.rb +++ b/lib/cgi.rb @@ -891,7 +891,7 @@ class CGI # # "name2" => ["value1", "value2", ...], ... } # def CGI::parse(query) - params = Hash.new([]) + params = Hash.new{|hash,key|hash[key]=[]} query.split(/[&;]/n).each do |pairs| key, value = pairs.split('=',2).collect{|v| CGI::unescape(v) } diff --git a/parse.y b/parse.y index 7901bcab30..75fa33e820 100644 --- a/parse.y +++ b/parse.y @@ -5366,7 +5366,7 @@ ret_args(node) if (nd_type(node) == NODE_ARRAY && node->nd_next == 0) { node = node->nd_head; } - if (nd_type(node) == NODE_SPLAT) { + if (node && nd_type(node) == NODE_SPLAT) { node = NEW_SVALUE(node); } }