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