diff --git a/upip/upip_utarfile.py b/upip/upip_utarfile.py index 65ce0bdc..460ca2cd 100644 --- a/upip/upip_utarfile.py +++ b/upip/upip_utarfile.py @@ -3,7 +3,7 @@ import uctypes # http://www.gnu.org/software/tar/manual/html_node/Standard.html TAR_HEADER = { "name": (uctypes.ARRAY | 0, uctypes.UINT8 | 100), - "size": (uctypes.ARRAY | 124, uctypes.UINT8 | 12), + "size": (uctypes.ARRAY | 124, uctypes.UINT8 | 11), } DIRTYPE = "dir" @@ -75,8 +75,8 @@ class TarFile: return None d = TarInfo() - d.name = str(h.name, "utf-8").rstrip() - d.size = int(bytes(h.size).rstrip(), 8) + d.name = str(h.name, "utf-8").rstrip("\0") + d.size = int(bytes(h.size), 8) d.type = [REGTYPE, DIRTYPE][d.name[-1] == "/"] self.subf = d.subf = FileSection(self.f, d.size, roundup(d.size, 512)) return d