aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn L McGrath <bug1@ihug.co.nz>2003-11-24 23:50:07 +0000
committerGlenn L McGrath <bug1@ihug.co.nz>2003-11-24 23:50:07 +0000
commitc3498f678aaae3dc30b1976af498f9e1b0309b5b (patch)
treec1622d78e3bb89efec9482c4645faee58fd3d3b6
parentf0515dad66ab7340674a8695dfd60ffcef6cb5aa (diff)
downloadbusybox-c3498f678aaae3dc30b1976af498f9e1b0309b5b.tar.gz
When a size of 0 is passed to copyfd_size, dont do anything, it was
reading untill eof which breaks tar
-rw-r--r--libbb/copyfd.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libbb/copyfd.c b/libbb/copyfd.c
index 62ada8e02..1ef994c98 100644
--- a/libbb/copyfd.c
+++ b/libbb/copyfd.c
@@ -78,7 +78,10 @@ extern size_t bb_full_fd_action(int src_fd, int dst_fd, const size_t size, ssize
extern int bb_copyfd_size(int fd1, int fd2, const off_t size)
{
- return(bb_full_fd_action(fd1, fd2, size, bb_full_write));
+ if (size) {
+ return(bb_full_fd_action(fd1, fd2, size, bb_full_write));
+ }
+ return(0);
}
extern int bb_copyfd_eof(int fd1, int fd2)