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
This commit is contained in:
@ -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);
|
||||
}
|
||||
|
Reference in New Issue
Block a user