Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Ticket #4955 (closed defect: fixed)

Opened 2 years ago

Last modified 2 years ago

[PATCH] Exception in parse_request_parameters with some query strings

Reported by: ror-dev@spam.halorgium.net Assigned to: David
Priority: normal Milestone:
Component: ActionPack Version: 1.1.1
Severity: normal Keywords: cgi query string parse_request_parameters tiny
Cc: adam.greenfield@gmail.com

Description

All rails apps have a problem with query string parsing. (See Ticket #4700 )

The problem occurs:

#{actionpack}/lib/action_controller/cgi_ext/cgi_methods.rb:49:in `parse_request_parameters'

System Message: WARNING/2 (<string>, line 1); backlink

Inline interpreted text or phrase reference start-string without end-string.

With such a QUERY_STRING as in: http://wiki.rubyonrails.org/rails/pages/ActiveRecord?test=foo&&foo=bar

params.inspect == {"test"=>["foo"], nil=>[nil], "foo"=>["bar"]}

This breaks the unless key.include?('[') which is assumed to be a String

Attachments

rails-parse-request-parameters-with-nil-key.patch (1.2 kB) - added by adam.greenfield@gmail.com on 05/04/06 01:41:45.
Patch w/ test to fix

Change History

05/04/06 01:41:45 changed by adam.greenfield@gmail.com

  • attachment rails-parse-request-parameters-with-nil-key.patch added.

Patch w/ test to fix

05/04/06 01:47:55 changed by adam.greenfield@gmail.com

  • keywords changed from cgi query string to cgi query string parse_request_parameters tiny.
  • summary changed from CGI Query String Parse Error to [PATCH] Exception in parse_request_parameters with some query strings.

This effects all versions of rails up to and including trunk.

You can reproduce on any rails app by passing ?&v=1 as the query string (or the other example above)

05/04/06 01:58:08 changed by adam.greenfield@gmail.com

  • cc set to adam.greenfield@gmail.com.

05/16/06 20:57:00 changed by nzkoz

  • status changed from new to closed.
  • resolution set to fixed.

(In [4343]) Fix NoMethodError when parsing params like &&. [Adam Greenfield]. Closes #4955

07/23/06 11:28:05 changed by anonymous

www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www www