Commit ab1f4674 authored by Georg Brandl's avatar Georg Brandl

Patch #1681153: the wave module now closes a file object it opened if

initialization failed.
parent 8784bae6
......@@ -159,7 +159,12 @@ class Wave_read:
f = __builtin__.open(f, 'rb')
self._i_opened_the_file = f
# else, assume it is an open file object already
self.initfp(f)
try:
self.initfp(f)
except:
if self._i_opened_the_file:
f.close()
raise
def __del__(self):
self.close()
......@@ -297,7 +302,12 @@ class Wave_write:
if isinstance(f, basestring):
f = __builtin__.open(f, 'wb')
self._i_opened_the_file = f
self.initfp(f)
try:
self.initfp(f)
except:
if self._i_opened_the_file:
f.close()
raise
def initfp(self, file):
self._file = file
......
......@@ -173,6 +173,9 @@ Core and builtins
Library
-------
- Patch #1681153: the wave module now closes a file object it opened if
initialization failed.
- Bug #767111: fix long-standing bug in urllib which caused an
AttributeError instead of an IOError when the server's response didn't
contain a valid HTTP status line.
......
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