kientzle 2005-09-21 04:48:52 UTC
FreeBSD src repository
In archive_read_open(), do not set the internal archive state to
"HEADER" unless the open is successful. Instead, leave the state as
"NEW." In particular, if archive_read_open() fails, a subsequent call
to archive_read_next_header() will now cause an explicit assertion
failure instead of a silent segmentation fault.
This may need a little more work to fully realize the intention: If
archive_read_open() fails, you should be able to call it again on the
same archive handle to open a different archive (or the same archive
using a different mechanism).
Revision Changes Path
1.18 +4 -2 src/lib/libarchive/archive_read.c