Re: [PATCH v4 2/5] t5000: test tar files that overflow ustar headers
- From
Johannes Sixt <j6t@kdbg.org>
- Date
- Jul 14, 2016, 16:45 UTC
- Message-ID
- <19a2d02e-3918-3bc9-db34-66e12ab950e4@kdbg.org>
- In-Reply-To
- <alpine.DEB.2.20.1607141745420.6426@virtualbox>
Am 14.07.2016 um 17:47 schrieb Johannes Schindelin:
Show 13 quoted lines
> On Thu, 30 Jun 2016, Jeff King wrote: >> The ustar format only has room for 11 (or 12, depending on >> some implementations) octal digits for the size and mtime of >> each file. For values larger than this, we have to add pax >> extended headers to specify the real data, and git does not >> yet know how to do so. >> >> [...] >> t/t5000/19f9c8273ec45a8938e6999cb59b3ff66739902a | Bin 0 -> 2048 bytes > > It appears that this blob cannot be read when sizeof(unsigned long) == 4. > This happens to break the t5000 test on Windows, where that comparison > holds true.
The problem occurs in parse_sha1_header_extended(), where the calculation of the size in the object header overflows our 32-bit unsigned long.
-- Hannes