diff options
author | Tim Kientzle <kientzle@gmail.com> | 2011-11-03 01:21:30 -0400 |
---|---|---|
committer | Tim Kientzle <kientzle@gmail.com> | 2011-11-03 01:21:30 -0400 |
commit | 7457cf5404c114bff301fafd7d876632df07079c (patch) | |
tree | 7cc9ac0515c2820c9ead908d0192ba23425e69b0 /libarchive/archive_read_extract.c | |
parent | 51e7b57a994f4457fce3b239300349ebf88eacb7 (diff) | |
download | libarchive-7457cf5404c114bff301fafd7d876632df07079c.tar.gz |
Issue #189: Don't rely on dev/ino being zero when they
have not been set. Instead, explicitly track when these
values are set. In particular, this fixes the check
that prevents adding an archive to itself on NetBSD.
SVN-Revision: 3743
Diffstat (limited to 'libarchive/archive_read_extract.c')
-rw-r--r-- | libarchive/archive_read_extract.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libarchive/archive_read_extract.c b/libarchive/archive_read_extract.c index d45ea61e..aad8ac51 100644 --- a/libarchive/archive_read_extract.c +++ b/libarchive/archive_read_extract.c @@ -100,8 +100,9 @@ archive_read_extract2(struct archive *_a, struct archive_entry *entry, int r, r2; /* Set up for this particular entry. */ - archive_write_disk_set_skip_file(ad, - a->skip_file_dev, a->skip_file_ino); + if (a->skip_file_set) + archive_write_disk_set_skip_file(ad, + a->skip_file_dev, a->skip_file_ino); r = archive_write_header(ad, entry); if (r < ARCHIVE_WARN) r = ARCHIVE_WARN; |