Date: Sat, 23 Apr 2005 17:46:51 +0000 (UTC) From: Tim Kientzle <kientzle@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/lib/libarchive archive_write_set_format_pax.c Message-ID: <200504231746.j3NHkpPx092671@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200504231746.j3NHkpPx092671>
