Package: libarchive1 Version: 2.6.1-1 Severity: serious Tags: patch When using the old archive_read_open function of libarchive, it calls libarchive_read_open2 with skipper set to NULL. But that functions always adds a function calling this one as skipper for source stream. Which leads to segfaults when the program requests a skip.
I'm setting severity to serious to avoid it migrating to testing, as it makes reprepro segfault, see #516515. Attached is a patch which fixes the issue for me. Hochachtungsvoll, Bernhard R. Link
--- a/libarchive-2.6.1/libarchive/archive_read.c 2008-12-28 21:08:32.000000000 +0100 +++ b/libarchive-2.6.1/libarchive/archive_read.c 2009-02-22 13:51:48.000000000 +0100 @@ -189,7 +189,8 @@ archive_read_open2(struct archive *_a, v source->archive = a; source->data = client_data; source->read = client_read_proxy; - source->skip = client_skip_proxy; + if (a->client.skipper != NULL) + source->skip = client_skip_proxy; source->close = client_close_proxy; a->source = source; }