Project

General

Profile

Bug #15146 ยป 0001-webrick-raise-EOFError-in-parse-when-read-line-is-ni.patch

pushrax (Justin Li), 09/22/2018 03:19 PM

View differences:

lib/webrick/httprequest.rb
def read_request_line(socket)
@request_line = read_line(socket, MAX_URI_LENGTH) if socket
raise HTTPStatus::EOFError unless @request_line
@request_bytes = @request_line.bytesize
if @request_bytes >= MAX_URI_LENGTH and @request_line[-1, 1] != LF
raise HTTPStatus::RequestURITooLarge
end
@request_time = Time.now
raise HTTPStatus::EOFError unless @request_line
if /^(\S+)\s+(\S++)(?:\s+HTTP\/(\d+\.\d+))?\r?\n/mo =~ @request_line
@request_method = $1
@unparsed_uri = $2
test/webrick/test_httprequest.rb
req.body
}
end
def test_eof_raised_when_line_is_nil
assert_raise(WEBrick::HTTPStatus::EOFError) {
req = WEBrick::HTTPRequest.new(WEBrick::Config::HTTP)
req.parse(StringIO.new(""))
}
end
end
    (1-1/1)