From b8034ca54f62a3e85970114a86729b1c4b9c1a8f Mon Sep 17 00:00:00 2001 From: matz Date: Wed, 26 Jul 2006 07:09:32 +0000 Subject: * lib/cgi.rb (CGI::QueryExtension::read_multipart): check multipart boundary end. a patch from Fujioka [ruby-dev:28470] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10601 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ lib/cgi.rb | 3 +++ 2 files changed, 9 insertions(+) diff --git a/ChangeLog b/ChangeLog index 78079570ea..61d59c5e00 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Wed Jul 26 16:06:03 2006 Yukihiro Matsumoto + + * lib/cgi.rb (CGI::QueryExtension::read_multipart): check + multipart boundary end. a patch from Fujioka + [ruby-dev:28470] + Wed Jul 26 01:02:59 2006 Nobuyoshi Nakada * configure.in: suppress warnings by automake 1.8 or later. diff --git a/lib/cgi.rb b/lib/cgi.rb index 04f0b5e7ce..4308efcb6b 100644 --- a/lib/cgi.rb +++ b/lib/cgi.rb @@ -981,6 +981,7 @@ class CGI boundary = "--" + boundary buf = "" bufsize = 10 * 1024 + boundary_end="" # start multipart/form-data stdinput.binmode if defined? stdinput.binmode @@ -1028,6 +1029,7 @@ class CGI if "--" == $2 content_length = -1 end + boundary_end = $2.dup "" end @@ -1062,6 +1064,7 @@ class CGI break if buf.size == 0 break if content_length === -1 end + raise EOFError, "bad boundary end of body part" unless boundary_end=~/--/ params end # read_multipart -- cgit v1.2.3