gh-127371 Avoid unbounded growth SpooledTempfile.writelines (GH-127372)

This commit is contained in:
Bert Peters 2025-03-04 23:06:07 +01:00 committed by GitHub
parent 691354ccb0
commit cb67b44ca9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 39 additions and 4 deletions

View file

@ -868,10 +868,14 @@ def write(self, s):
return rv
def writelines(self, iterable):
file = self._file
rv = file.writelines(iterable)
self._check(file)
return rv
if self._max_size == 0 or self._rolled:
return self._file.writelines(iterable)
it = iter(iterable)
for line in it:
self.write(line)
if self._rolled:
return self._file.writelines(it)
def detach(self):
return self._file.detach()