Partial merge of r224691 from lib/libarchive:

Add compatibility for ISO images created with unfixed makefs that
violated ECMA-119 (ISO9660): allow reserved4 to be 0x20 in PVD.
This allows tar to read FreeBSD distribution ISO images created
with makefs prior to NetBSD bin/45217 bugfix (up to 9.0-BETA1).

MFC after:	2 weeks
This commit is contained in:
Martin Matuska 2011-12-21 15:02:37 +00:00
parent 81e77e7031
commit 05c7cce2cc

View File

@ -895,8 +895,10 @@ isPVD(struct iso9660 *iso9660, const unsigned char *h)
return (0);
/* Reserved field must be 0. */
/* FreeBSD: makefs erroneously created images with 0x20 */
for (i = 0; i < PVD_reserved4_size; ++i)
if (h[PVD_reserved4_offset + i] != 0)
if (h[PVD_reserved4_offset + i] != 0 &&
h[PVD_reserved4_offset + i] != 32)
return (0);
/* Reserved field must be 0. */