[#67346] Future of test suites for Ruby — Charles Oliver Nutter <headius@...>

I'll try to be brief so we can discuss all this. tl;dr: RubySpec is

19 messages 2015/01/05

[ruby-core:67581] [ruby-trunk - Bug #10591] Net::HTTPResponse#read_status_line does not throw Net::HTTPBadResponse with some malformed responses.

From: usa@...
Date: 2015-01-14 07:32:22 UTC
List: ruby-core #67581
Issue #10591 has been updated by Usaku NAKAMURA.

Backport changed from 2.0.0: REQUIRED, 2.1: REQUIRED, 2.2: DONE to 2.0.0: DONE, 2.1: REQUIRED, 2.2: DONE

Backported into `ruby_2_0_0` at r49250.

----------------------------------------
Bug #10591: Net::HTTPResponse#read_status_line does not throw Net::HTTPBadResponse with some malformed responses.
https://bugs.ruby-lang.org/issues/10591#change-50995

* Author: Peter Powell
* Status: Closed
* Priority: Normal
* Assignee: 
* ruby -v: ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-darwin12.0]
* Backport: 2.0.0: DONE, 2.1: REQUIRED, 2.2: DONE
----------------------------------------
The offending line of code appears to be this: https://github.com/ruby/ruby/blob/448c87008e1bc66a93b8f21eedea060f281874a4/lib/net/http/response.rb#L40

The regular expression for matching the status line uses **\s*** to match the space between the response code and message. This is erroneous because when given a malformed status line like **HTTP/1.1 1234** it parses the response code as **123** and the message as **4**.

Reference: http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1



-- 
https://bugs.ruby-lang.org/

In This Thread

Prev Next