]> granicus.if.org Git - python/commitdiff
#1389051, #1092502: fix excessively large allocations when using read() on a socket
authorAndrew M. Kuchling <amk@amk.ca>
Sat, 23 Feb 2008 19:30:59 +0000 (19:30 +0000)
committerAndrew M. Kuchling <amk@amk.ca>
Sat, 23 Feb 2008 19:30:59 +0000 (19:30 +0000)
Lib/socket.py
Misc/NEWS

index 0082e7656e2084bafa43b7467716ab540feacc66..f79b28268d2554ca2c361429604b6a9b48808a37 100644 (file)
@@ -305,7 +305,7 @@ class _fileobject(object):
             self._rbuf = ""
             while True:
                 left = size - buf_len
-                recv_size = max(self._rbufsize, left)
+                recv_size = min(self._rbufsize, left)
                 data = self._sock.recv(recv_size)
                 if not data:
                     break
index 0926e7f00907f76330627e173fb69c0518619afa..e04cb3c9246227488bd5e4ceb6e9df216b421a24 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -18,6 +18,9 @@ Library
 - Bug #1389051: imaplib causes excessive memory fragmentation when reading
   large messages.
 
+- Bug #1389051, 1092502: fix excessively large memory allocations when
+  calling .read() on a socket object wrapped with makefile(). 
+
 - Bug #1433694: minidom's .normalize() failed to set .nextSibling for
   last child element.