[前][次][番号順一覧][スレッド一覧]

ruby-changes:8711

From: matz <ko1@a...>
Date: Tue, 18 Nov 2008 16:21:30 +0900 (JST)
Subject: [ruby-changes:8711] Ruby:r20246 (ruby_1_8): * lib/webrick/httprequest.rb (WEBrick::HTTPRequest#read_request_line):

matz	2008-11-18 16:21:12 +0900 (Tue, 18 Nov 2008)

  New Revision: 20246

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=20246

  Log:
    * lib/webrick/httprequest.rb (WEBrick::HTTPRequest#read_request_line):
      use non-greedy match for path retrieval to avoid huge recursion
      for insanely long path.

  Modified files:
    branches/ruby_1_8/ChangeLog
    branches/ruby_1_8/lib/webrick/httprequest.rb

Index: ruby_1_8/ChangeLog
===================================================================
--- ruby_1_8/ChangeLog	(revision 20245)
+++ ruby_1_8/ChangeLog	(revision 20246)
@@ -3,6 +3,12 @@
 	* lib/logger.rb (ProgName): fixed for svn, based on a patch from
 	  Nobuhiro IMAI at [ruby-dev:37108].
 
+Tue Nov 18 15:59:37 2008  Yukihiro Matsumoto  <matz@r...>
+
+	* lib/webrick/httprequest.rb (WEBrick::HTTPRequest#read_request_line):
+	  use non-greedy match for path retrieval to avoid huge recursion
+	  for insanely long path.
+
 Tue Nov 18 09:42:11 2008  Nobuyoshi Nakada  <nobu@r...>
 
 	* lib/optparse.rb (OptionParser::make_switch): makes default
Index: ruby_1_8/lib/webrick/httprequest.rb
===================================================================
--- ruby_1_8/lib/webrick/httprequest.rb	(revision 20245)
+++ ruby_1_8/lib/webrick/httprequest.rb	(revision 20246)
@@ -225,7 +225,7 @@
       @request_line = read_line(socket) if socket
       @request_time = Time.now
       raise HTTPStatus::EOFError unless @request_line
-      if /^(\S+)\s+(\S+)(?:\s+HTTP\/(\d+\.\d+))?\r?\n/mo =~ @request_line
+      if /^(\S+)\s+(\S+?)(?:\s+HTTP\/(\d+\.\d+))?\r?\n/mo =~ @request_line
         @request_method = $1
         @unparsed_uri   = $2
         @http_version   = HTTPVersion.new($3 ? $3 : "0.9")

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]