diff Lib/cgi.py @ 15382:c104f00c9909 legacy-trunk

This fixes several bug reports concering memory bloating during large file uploads. In response to SF bugs 110674 and 119806, and discussions on python-dev, we are removing the self.lines attribute from the FieldStorage class. Specifically touched where methods __init__(), read_lines_to_eof(), and skip_lines(). No one can remember why self.lines was added. Technically, it's part of the public interface for the class, but it was never documented. It's possible clever or nosy code will break because of this, but it was decided to remove it and see who complains. This resolution also closes the second half of the cgi.py entry in PEP 42. The first half of that PEP concerns specifically binary file uploads, where there may be no end-of-line marker for a very long time. This patch does not address that issue.
author Barry Warsaw <barry@python.org>
date Mon, 06 Nov 2000 18:46:09 +0000
parents 2b4236580e0c
children 5c65e676f299
line wrap: on
line diff
--- a/Lib/cgi.py	Mon Nov 06 16:03:52 2000 +0000
+++ b/Lib/cgi.py	Mon Nov 06 18:46:09 2000 +0000
@@ -19,7 +19,7 @@
 # responsible for its maintenance.
 # 
 
-__version__ = "2.4"
+__version__ = "2.5"
 
 
 # Imports
@@ -497,7 +497,6 @@
 
         self.list = self.file = None
         self.done = 0
-        self.lines = []
         if ctype == 'application/x-www-form-urlencoded':
             self.read_urlencoded()
         elif ctype[:10] == 'multipart/':
@@ -633,7 +632,6 @@
             if not line:
                 self.done = -1
                 break
-            self.lines.append(line)
             self.file.write(line)
 
     def read_lines_to_outerboundary(self):
@@ -646,7 +644,6 @@
             if not line:
                 self.done = -1
                 break
-            self.lines.append(line)
             if line[:2] == "--":
                 strippedline = string.strip(line)
                 if strippedline == next:
@@ -676,7 +673,6 @@
             if not line:
                 self.done = -1
                 break
-            self.lines.append(line)
             if line[:2] == "--":
                 strippedline = string.strip(line)
                 if strippedline == next: