summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorkientzle <kientzle@FreeBSD.org>2006-08-01 05:31:29 +0000
committerkientzle <kientzle@FreeBSD.org>2006-08-01 05:31:29 +0000
commit1157b51024537d013f39373f730c9a1462a81c8b (patch)
tree7175f64b7c985347bcb4e142e6dbfaf316dc0437 /lib
parent040ba91ea800198a5f501baaa2590e9ddbcba791 (diff)
downloadFreeBSD-src-1157b51024537d013f39373f730c9a1462a81c8b.zip
FreeBSD-src-1157b51024537d013f39373f730c9a1462a81c8b.tar.gz
If skip_file_dev and skip_file_ino haven't been set (are still == 0),
then don't use them for testing for a recursive add. Thanks to: Spencer Minear MFC after: 7 days
Diffstat (limited to 'lib')
-rw-r--r--lib/libarchive/archive_write.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/libarchive/archive_write.c b/lib/libarchive/archive_write.c
index 73283e4..3a999ca 100644
--- a/lib/libarchive/archive_write.c
+++ b/lib/libarchive/archive_write.c
@@ -201,7 +201,9 @@ archive_write_header(struct archive *a, struct archive_entry *entry)
if (a->state & ARCHIVE_STATE_DATA)
((a->format_finish_entry)(a));
- if (archive_entry_dev(entry) == a->skip_file_dev &&
+ if (a->skip_file_dev != 0 &&
+ archive_entry_dev(entry) == a->skip_file_dev &&
+ a->skip_file_ino != 0 &&
archive_entry_ino(entry) == a->skip_file_ino) {
archive_set_error(a, 0, "Can't add archive to itself");
return (ARCHIVE_WARN);
OpenPOWER on IntegriCloud