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:37 +02:00
commit 2d1f092469

View File

@ -1647,6 +1647,9 @@ class TarFile(object):
if mode == 'r': if mode == 'r':
raise ReadError("not a bzip2 file") raise ReadError("not a bzip2 file")
raise raise
except:
fileobj.close()
raise
t._extfileobj = False t._extfileobj = False
return t return t
@ -1672,6 +1675,9 @@ class TarFile(object):
if mode == 'r': if mode == 'r':
raise ReadError("not an lzma file") raise ReadError("not an lzma file")
raise raise
except:
fileobj.close()
raise
t._extfileobj = False t._extfileobj = False
return t return t