Issue #20244: Fixed possible file leaks when unexpected error raised in

tarfile open functions.
This commit is contained in:
Serhiy Storchaka 2014-01-18 16:28:08 +02:00
parent c2d01423e0
commit e413cde95f

View file

@ -1671,6 +1671,9 @@ def bz2open(cls, name, mode="r", fileobj=None, compresslevel=9, **kwargs):
if mode == 'r':
raise ReadError("not a bzip2 file")
raise
except:
fileobj.close()
raise
t._extfileobj = False
return t
@ -1696,6 +1699,9 @@ def xzopen(cls, name, mode="r", fileobj=None, preset=None, **kwargs):
if mode == 'r':
raise ReadError("not an lzma file")
raise
except:
fileobj.close()
raise
t._extfileobj = False
return t