From 1af00eda92e9a036ff217b11ff45ebe559de66f9 Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Sat, 5 Apr 2008 02:44:30 +0000 Subject: cpio: fix a bug where we do not extract zero-sized hardlinks (spotted at http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=466771). Add testsuite entry for that, and another one for another bug: we do not list hardlinks in cpio -t (not fixed). function old new delta get_header_cpio 884 909 +25 static.saved_hardlinks_created - 4 +4 static.pending_hardlinks 4 - -4 static.inode 4 - -4 cpio_main 1122 1060 -62 --- archival/cpio.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'archival/cpio.c') diff --git a/archival/cpio.c b/archival/cpio.c index dd9ed756c..2919ff8de 100644 --- a/archival/cpio.c +++ b/archival/cpio.c @@ -171,9 +171,7 @@ static int cpio_o(void) int fd = xopen(name, O_RDONLY); fflush(stdout); /* We must abort if file got shorter too! */ - if (bb_copyfd_size(fd, STDOUT_FILENO, st.st_size) != st.st_size) { - bb_error_msg_and_die("I/O error or file '%s' was truncated", name); - } + bb_copyfd_exact_size(fd, STDOUT_FILENO, st.st_size); bytes += st.st_size; close(fd); } -- cgit v1.2.3