summary refs log tree commit
path: root/lib/rack/multipart/parser.rb
diff options
context:
space:
mode:
authorSantiago Pastorino <santiago@wyeworks.com>2015-03-11 15:24:25 -0300
committerAaron Patterson <aaron.patterson@gmail.com>2015-06-17 07:23:16 -0700
commitb515722c2c1506274c5a862c4d6a2bbc079296e6 (patch)
treea7f11156812189367a4c53cd7c88d2425e7bfc9a /lib/rack/multipart/parser.rb
parent9baa7609ca408f25e8adbd34ca083dc87010da61 (diff)
downloadrack-b515722c2c1506274c5a862c4d6a2bbc079296e6.tar.gz
Merge pull request #814 from johnnaegle/only_increment_open_file_count_for_fileparts
Only count files (not all form elements) against the Multipart File Limit
Diffstat (limited to 'lib/rack/multipart/parser.rb')
-rw-r--r--lib/rack/multipart/parser.rb9
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/rack/multipart/parser.rb b/lib/rack/multipart/parser.rb
index e6e03538..22d38e74 100644
--- a/lib/rack/multipart/parser.rb
+++ b/lib/rack/multipart/parser.rb
@@ -54,14 +54,15 @@ module Rack
 
         opened_files = 0
         loop do
-          if Utils.multipart_part_limit > 0
-            raise MultipartPartLimitError, 'Maximum file multiparts in content reached' if opened_files >= Utils.multipart_part_limit
-            opened_files += 1
-          end
 
           head, filename, content_type, name, body =
             get_current_head_and_filename_and_content_type_and_name_and_body
 
+          if Utils.multipart_part_limit > 0
+            opened_files += 1 if filename
+            raise MultipartPartLimitError, 'Maximum file multiparts in content reached' if opened_files >= Utils.multipart_part_limit
+          end
+
           # Save the rest.
           if i = @buf.index(rx)
             body << @buf.slice!(0, i)