From 27ff072349b9a5e0efc83977b7158f939f16df15 Mon Sep 17 00:00:00 2001 From: matz Date: Wed, 29 Oct 2003 06:53:48 +0000 Subject: * eval.c (Init_Proc): taint preallocated exception object sysstack_error. [ruby-talk:84534] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4854 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ eval.c | 1 + lib/cgi.rb | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index ffbd5e51f2..1aad2ef49a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed Oct 29 15:28:34 2003 Yukihiro Matsumoto + + * eval.c (Init_Proc): taint preallocated exception object + sysstack_error. [ruby-talk:84534] + Wed Oct 29 11:27:39 2003 Yukihiro Matsumoto * parse.y (ret_args): node may be NULL. [ruby-talk:84530] diff --git a/eval.c b/eval.c index 59fe9c378b..cac306671b 100644 --- a/eval.c +++ b/eval.c @@ -7732,6 +7732,7 @@ Init_Proc() rb_eSysStackError = rb_define_class("SystemStackError", rb_eStandardError); sysstack_error = rb_exc_new2(rb_eSysStackError, "stack level too deep"); + OBJ_TAINT(sysstack_error); rb_global_variable(&sysstack_error); rb_cProc = rb_define_class("Proc", rb_cObject); diff --git a/lib/cgi.rb b/lib/cgi.rb index 82318707d6..a6003d99a6 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{|hash,key|hash[key]=[]} + params = Hash.new([].freeze) query.split(/[&;]/n).each do |pairs| key, value = pairs.split('=',2).collect{|v| CGI::unescape(v) } -- cgit v1.2.3