#1389051, #1092502: fix excessively large allocations when using read() on a socket
diff --git a/Lib/socket.py b/Lib/socket.py
index 0082e76..f79b282 100644
--- a/Lib/socket.py
+++ b/Lib/socket.py
@@ -305,7 +305,7 @@
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
diff --git a/Misc/NEWS b/Misc/NEWS
index 0926e7f..e04cb3c 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -18,6 +18,9 @@
- 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.