From bfbbb1207930e7ebe56d4a99abd53b2aa66e0b6e Mon Sep 17 00:00:00 2001
From: sepehr500 <sepehr411@gmail.com>
Date: Fri, 12 May 2017 14:43:34 -0400
Subject: Fixed string being modified in place causing frozen string errors in
 Ruby 2.3

---
 actionpack/lib/action_dispatch/http/upload.rb | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

(limited to 'actionpack/lib')

diff --git a/actionpack/lib/action_dispatch/http/upload.rb b/actionpack/lib/action_dispatch/http/upload.rb
index 61ba052e45..225272d66e 100644
--- a/actionpack/lib/action_dispatch/http/upload.rb
+++ b/actionpack/lib/action_dispatch/http/upload.rb
@@ -27,14 +27,18 @@ module ActionDispatch
         @tempfile = hash[:tempfile]
         raise(ArgumentError, ":tempfile is required") unless @tempfile
 
-        @original_filename = hash[:filename]
-        if @original_filename
+        if hash[:filename]
+          @original_filename = hash[:filename].dup
+
           begin
             @original_filename.encode!(Encoding::UTF_8)
           rescue EncodingError
             @original_filename.force_encoding(Encoding::UTF_8)
           end
+        else
+          @original_filename = nil
         end
+
         @content_type      = hash[:type]
         @headers           = hash[:head]
       end
-- 
cgit v1.2.3