cvs commit: src/lib/libarchive archive_write_set_format_pax.c
Tim Kientzle
kientzle at FreeBSD.org
Sat Apr 23 10:46:51 PDT 2005
kientzle 2005-04-23 17:46:51 UTC
FreeBSD src repository
Modified files:
lib/libarchive archive_write_set_format_pax.c
Log:
Certain filenames between 245 and 255 characters long would cause an
internal error if pax extended attributes were being generated. Being
< 255 characters, the first-pass path editing (to generate a
ustar-compatible name for the main entry) wouldn't occur, and the
second-pass path editing (to generate a ustar name for the pax
attributes entry) assumed the input was already < 245 chars.
The core problem here was using an abbreviated algorithm for the
second pass that relied on the first pass having already run. The
rewritten code is much simpler: It just uses the full path-shortening
algorithm for building both ustar pathnames. This way, the second
ustar pathname will always be short enough.
Thanks to: Mark Cammidge
Related to: bin/74385
Revision Changes Path
1.26 +72 -71 src/lib/libarchive/archive_write_set_format_pax.c
More information about the cvs-src
mailing list