aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2007-05-21 23:01:17 +0000
committerJeremy Kemper <jeremy@bitsweat.net>2007-05-21 23:01:17 +0000
commit8ba22a690c65009d0f64e32cd316bc1ca45492c7 (patch)
tree0ba6c7d868b035a6b21c22ca90134ba89af170ed
parentf6edfa3553b175e1fc619a086551c2fb27ff72a3 (diff)
downloadrails-8ba22a690c65009d0f64e32cd316bc1ca45492c7.tar.gz
rails-8ba22a690c65009d0f64e32cd316bc1ca45492c7.tar.bz2
rails-8ba22a690c65009d0f64e32cd316bc1ca45492c7.zip
Fix filtered parameter logging with nil parameter values. Closes #8422.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6802 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
-rw-r--r--actionpack/CHANGELOG2
-rwxr-xr-xactionpack/lib/action_controller/base.rb3
-rw-r--r--actionpack/test/controller/filter_params_test.rb1
3 files changed, 5 insertions, 1 deletions
diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG
index 2094e9edd9..ee2e64f82c 100644
--- a/actionpack/CHANGELOG
+++ b/actionpack/CHANGELOG
@@ -1,5 +1,7 @@
*SVN*
+* Fix filtered parameter logging with nil parameter values. #8422 [choonkeat]
+
* Integration tests: alias xhr to xml_http_request and add a request_method argument instead of always using POST. #7124 [Nik Wakelin, Francois Beausoleil, Wizard]
* Document caches_action. #5419 [Jarkko Laine]
diff --git a/actionpack/lib/action_controller/base.rb b/actionpack/lib/action_controller/base.rb
index 6ba5e141ea..cfd60ac6bf 100755
--- a/actionpack/lib/action_controller/base.rb
+++ b/actionpack/lib/action_controller/base.rb
@@ -441,7 +441,8 @@ module ActionController #:nodoc:
elsif value.is_a?(Hash)
filtered_parameters[key] = filter_parameters(value)
elsif block_given?
- key, value = key.dup, value.dup
+ key = key.dup
+ value = value.dup if value
yield key, value
filtered_parameters[key] = value
else
diff --git a/actionpack/test/controller/filter_params_test.rb b/actionpack/test/controller/filter_params_test.rb
index 5ad0d7f81d..7b810b1624 100644
--- a/actionpack/test/controller/filter_params_test.rb
+++ b/actionpack/test/controller/filter_params_test.rb
@@ -16,6 +16,7 @@ class FilterParamTest < Test::Unit::TestCase
assert @controller.respond_to?(:filter_parameters)
test_hashes = [[{},{},[]],
+ [{'foo'=>nil},{'foo'=>nil},[]],
[{'foo'=>'bar'},{'foo'=>'bar'},[]],
[{'foo'=>'bar'},{'foo'=>'bar'},%w'food'],
[{'foo'=>'bar'},{'foo'=>'[FILTERED]'},%w'foo'],