Issue #24514: tarfile now tolerates number fields consisting of only whitespace.
This commit is contained in:
parent
97cceac3bd
commit
d048003d90
|
@ -186,7 +186,7 @@ def nti(s):
|
|||
# itn() below.
|
||||
if s[0] != chr(0200):
|
||||
try:
|
||||
n = int(nts(s) or "0", 8)
|
||||
n = int(nts(s).strip() or "0", 8)
|
||||
except ValueError:
|
||||
raise InvalidHeaderError("invalid header")
|
||||
else:
|
||||
|
|
|
@ -1566,6 +1566,14 @@ class LimitsTest(unittest.TestCase):
|
|||
tarinfo.tobuf(tarfile.PAX_FORMAT)
|
||||
|
||||
|
||||
class MiscTest(unittest.TestCase):
|
||||
|
||||
def test_read_number_fields(self):
|
||||
# Issue 24514: Test if empty number fields are converted to zero.
|
||||
self.assertEqual(tarfile.nti("\0"), 0)
|
||||
self.assertEqual(tarfile.nti(" \0"), 0)
|
||||
|
||||
|
||||
class ContextManagerTest(unittest.TestCase):
|
||||
|
||||
def test_basic(self):
|
||||
|
@ -1730,6 +1738,7 @@ def test_main():
|
|||
PaxUnicodeTest,
|
||||
AppendTest,
|
||||
LimitsTest,
|
||||
MiscTest,
|
||||
ContextManagerTest,
|
||||
]
|
||||
|
||||
|
|
Loading…
Reference in New Issue