diff options
author | Glenn L McGrath <bug1@ihug.co.nz> | 2003-11-25 02:50:07 +0300 |
---|---|---|
committer | Glenn L McGrath <bug1@ihug.co.nz> | 2003-11-25 02:50:07 +0300 |
commit | c3498f678aaae3dc30b1976af498f9e1b0309b5b (patch) | |
tree | c1622d78e3bb89efec9482c4645faee58fd3d3b6 /libbb/copyfd.c | |
parent | f0515dad66ab7340674a8695dfd60ffcef6cb5aa (diff) |
When a size of 0 is passed to copyfd_size, dont do anything, it was
reading untill eof which breaks tar
Diffstat (limited to 'libbb/copyfd.c')
-rw-r--r-- | libbb/copyfd.c | 5 |
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) |