aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Lib/cgi.py
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2015-08-18 10:23:16 -0700
committerVictor Stinner <victor.stinner@gmail.com>2015-08-18 10:23:16 -0700
commit1e26dc7ef60c19f57e779bb1f7906e446d71d343 (patch)
treef7f6f670069666b157c4092153a138f7bf8e1ee6 /Lib/cgi.py
parent8e205f7b4f852d903db223d98b96721c4bc19644 (diff)
parent6579459d4b10b8eef47e5de609de4aa54999fb06 (diff)
downloadcpython-1e26dc7ef60c19f57e779bb1f7906e446d71d343.tar.gz
cpython-1e26dc7ef60c19f57e779bb1f7906e446d71d343.zip
(Merge 3.4) cgi.FieldStorage.read_multi ignores Content-Length
Issue #24764: cgi.FieldStorage.read_multi() now ignores the Content-Length header in part headers. Patch written by Peter Landry and reviewed by Pierre Quentel.
Diffstat (limited to 'Lib/cgi.py')
-rwxr-xr-xLib/cgi.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/Lib/cgi.py b/Lib/cgi.py
index 4be28ba0dc9..26d25444080 100755
--- a/Lib/cgi.py
+++ b/Lib/cgi.py
@@ -720,6 +720,11 @@ class FieldStorage:
self.bytes_read += len(hdr_text)
parser.feed(hdr_text.decode(self.encoding, self.errors))
headers = parser.close()
+
+ # Some clients add Content-Length for part headers, ignore them
+ if 'content-length' in headers:
+ del headers['content-length']
+
part = klass(self.fp, headers, ib, environ, keep_blank_values,
strict_parsing,self.limit-self.bytes_read,
self.encoding, self.errors)