summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBarry Warsaw <barry@python.org>2000-11-06 18:46:09 (GMT)
committerBarry Warsaw <barry@python.org>2000-11-06 18:46:09 (GMT)
commit7fed217515d060b065119f74eea3a024dfb00210 (patch)
treeb012a2e0efbac15c19a7f17aaf99960164c7b6ae
parent4ebf3be40703b1b6171a001a5155b5e1a9f971be (diff)
downloadcpython-7fed217515d060b065119f74eea3a024dfb00210.zip
cpython-7fed217515d060b065119f74eea3a024dfb00210.tar.gz
cpython-7fed217515d060b065119f74eea3a024dfb00210.tar.bz2
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.
-rwxr-xr-xLib/cgi.py6
1 files changed, 1 insertions, 5 deletions
diff --git a/Lib/cgi.py b/Lib/cgi.py
index dd5bee6..d4c55b7 100755
--- a/Lib/cgi.py
+++ b/Lib/cgi.py
@@ -19,7 +19,7 @@ written in Python.
# responsible for its maintenance.
#
-__version__ = "2.4"
+__version__ = "2.5"
# Imports
@@ -497,7 +497,6 @@ class FieldStorage:
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 @@ class FieldStorage:
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 @@ class FieldStorage:
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 @@ class FieldStorage:
if not line:
self.done = -1
break
- self.lines.append(line)
if line[:2] == "--":
strippedline = string.strip(line)
if strippedline == next: