diff Lib/http/server.py @ 66971:dc32788f0e4e 3.1

Merged revisions 87317 via svnmerge from svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r87317 | antoine.pitrou | 2010-12-16 17:48:36 +0100 (jeu., 16 déc. 2010) | 4 lines Issue #10714: Limit length of incoming request in http.server to 65536 bytes for security reasons. Initial patch by Ross Lagerwall. ........ (also backport some tests)
author Antoine Pitrou <solipsis@pitrou.net>
date Thu, 16 Dec 2010 17:03:16 +0000
parents 1243ec679c29
children 3c182f71d4c9
line wrap: on
line diff
--- a/Lib/http/server.py	Thu Dec 16 06:30:42 2010 +0000
+++ b/Lib/http/server.py	Thu Dec 16 17:03:16 2010 +0000
@@ -333,7 +333,13 @@
         commands such as GET and POST.
 
         """
-        self.raw_requestline = self.rfile.readline()
+        self.raw_requestline = self.rfile.readline(65537)
+        if len(self.raw_requestline) > 65536:
+            self.requestline = ''
+            self.request_version = ''
+            self.command = ''
+            self.send_error(414)
+            return
         if not self.raw_requestline:
             self.close_connection = 1
             return