Kaydet (Commit) 4fa68ab1 authored tarafından Benjamin Peterson's avatar Benjamin Peterson

raise an ValueError in getvalue() on closed StringIO (closes #12161)

Thanks for Catalin Iacob for the patch.
üst dbfba166
...@@ -266,6 +266,7 @@ class StringIO: ...@@ -266,6 +266,7 @@ class StringIO:
8th bit) will cause a UnicodeError to be raised when getvalue() 8th bit) will cause a UnicodeError to be raised when getvalue()
is called. is called.
""" """
_complain_ifclosed(self.closed)
if self.buflist: if self.buflist:
self.buf += ''.join(self.buflist) self.buf += ''.join(self.buflist)
self.buflist = [] self.buflist = []
......
...@@ -100,6 +100,10 @@ class TestGenericStringIO(unittest.TestCase): ...@@ -100,6 +100,10 @@ class TestGenericStringIO(unittest.TestCase):
self._fp.close() self._fp.close()
self.assertRaises(ValueError, self._fp.next) self.assertRaises(ValueError, self._fp.next)
def test_getvalue(self):
self._fp.close()
self.assertRaises(ValueError, self._fp.getvalue)
class TestStringIO(TestGenericStringIO): class TestStringIO(TestGenericStringIO):
MODULE = StringIO MODULE = StringIO
......
...@@ -382,6 +382,7 @@ Eric Huss ...@@ -382,6 +382,7 @@ Eric Huss
Jeremy Hylton Jeremy Hylton
Gerhard Häring Gerhard Häring
Fredrik Håård Fredrik Håård
Catalin Iacob
Mihai Ibanescu Mihai Ibanescu
Lars Immisch Lars Immisch
Bobby Impollonia Bobby Impollonia
......
...@@ -83,6 +83,9 @@ Core and Builtins ...@@ -83,6 +83,9 @@ Core and Builtins
Library Library
------- -------
- Issue #12161: Cause StringIO.getvalue() to raise a ValueError when used on a
closed StringIO instance.
- Issue #12182: Fix pydoc.HTMLDoc.multicolumn() if Python uses the new (true) - Issue #12182: Fix pydoc.HTMLDoc.multicolumn() if Python uses the new (true)
division (python -Qnew). Patch written by Ralf W. Grosse-Kunstleve. division (python -Qnew). Patch written by Ralf W. Grosse-Kunstleve.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment