From: Tim Kientzle Date: Sat, 16 Jan 2010 07:11:58 +0000 (-0500) Subject: As pointed out recently on a GNU cpio mailing list, you can't X-Git-Tag: v2.8.0~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=561c8dd491a439fc4891aed43a794afd19df4e51;p=thirdparty%2Flibarchive.git As pointed out recently on a GNU cpio mailing list, you can't hardlink device nodes. SVN-Revision: 1821 --- diff --git a/libarchive/archive_entry_link_resolver.c b/libarchive/archive_entry_link_resolver.c index ae2d2ab25..3b13e19c8 100644 --- a/libarchive/archive_entry_link_resolver.c +++ b/libarchive/archive_entry_link_resolver.c @@ -181,8 +181,10 @@ archive_entry_linkify(struct archive_entry_linkresolver *res, /* If it has only one link, then we're done. */ if (archive_entry_nlink(*e) == 1) return; - /* Directories never have hardlinks. */ - if (archive_entry_filetype(*e) == AE_IFDIR) + /* Directories, devices never have hardlinks. */ + if (archive_entry_filetype(*e) == AE_IFDIR + || archive_entry_filetype(*e) == AE_IFBLK + || archive_entry_filetype(*e) == AE_IFCHR) return; switch (res->strategy) {