[issue40757] tarfile: ignore_zeros = True won't raise exception even on invalid (non-zero) TARs
mxmlnkn
report at bugs.python.org
Sun May 24 14:10:44 EDT 2020
New submission from mxmlnkn <maxinator333 at googlemail.com>:
Normally, when opening an existing non-TAR file, e.g., a file with random data, an exception is raised:
tarfile.open( "foo.txt" )
---------------------------------------------------------------------------
ReadError Traceback (most recent call last)
<ipython-input-53-aa60172c3e3b> in <module>()
----> 1 f = tarfile.open( "notes.txt", ignore_zeros = False )
/usr/lib/python3.7/tarfile.py in open(cls, name, mode, fileobj, bufsize, **kwargs)
1576 fileobj.seek(saved_pos)
1577 continue
-> 1578 raise ReadError("file could not be opened successfully")
1579
1580 elif ":" in mode:
ReadError: file could not be opened successfully
However, when specifying ignore_zeros = True, this check against invalid data seems to be turned off. Note that it is >invalid< data not >zero< data and therefore should still raise an exception!
tarfile.open( "foo.txt", ignore_zeros = True )
Iterating over that opened tarfile also works without exception however nothing will be iterated over, i.e., it behaves like an empty TAR instead of like an invalid TAR.
----------
components: Library (Lib)
messages: 369816
nosy: mxmlnkn
priority: normal
severity: normal
status: open
title: tarfile: ignore_zeros = True won't raise exception even on invalid (non-zero) TARs
type: behavior
versions: Python 3.7
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue40757>
_______________________________________
More information about the Python-bugs-list
mailing list