diff options
-rw-r--r-- | lib/rack/utils.rb | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/rack/utils.rb b/lib/rack/utils.rb index 74303eff..884e6045 100644 --- a/lib/rack/utils.rb +++ b/lib/rack/utils.rb @@ -449,7 +449,7 @@ module Rack head = buf.slice!(0, i+2) # First \r\n buf.slice!(0, 2) # Second \r\n - filename = head[/Content-Disposition:.* filename="?([^\";]*)"?/ni, 1] + filename = head[/Content-Disposition:.* filename=(?:"((?:\\.|[^\"])*)"|([^;\s]*))/ni, 1] content_type = head[/Content-Type: (.*)#{EOL}/ni, 1] name = head[/Content-Disposition:.*\s+name="?([^\";]*)"?/ni, 1] || head[/Content-ID:\s*([^#{EOL}]*)/ni, 1] |