Permit ` as a pad character in the filename table.

This seems to fix the devel/zziplib port, which distributes
its man pages in an ar archive.
This commit is contained in:
Tim Kientzle 2009-02-01 02:33:02 +00:00
parent 709a626613
commit 56b5addbbd
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=187975

View File

@ -511,11 +511,10 @@ ar_parse_gnu_filename_table(struct archive_read *a)
}
}
/*
* Sanity check, last two chars must be `/\n' or '\n\n',
* depending on whether the string table is padded by a '\n'
* (string table produced by GNU ar always has a even size).
* GNU ar always pads the table to an even size.
* The pad character is either '\n' or '`'.
*/
if (p != ar->strtab + size && *p != '\n')
if (p != ar->strtab + size && *p != '\n' && *p != '`')
goto bad_string_table;
/* Enforce zero termination. */