mirror of
https://github.com/containers/fuse-overlayfs.git
synced 2025-09-13 09:17:42 -04:00
main: fix copy loop
fix potential infinite loop on a short read. Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
This commit is contained in:
parent
9b687001bb
commit
f6262ed778
14
main.c
14
main.c
@ -2557,12 +2557,14 @@ copy_fd_to_fd (int sfd, int dfd, char *buf, size_t buf_size)
|
||||
break;
|
||||
|
||||
written = 0;
|
||||
{
|
||||
ret = TEMP_FAILURE_RETRY (write (dfd, buf + written, nread));
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
nread -= ret;
|
||||
}
|
||||
do
|
||||
{
|
||||
ret = TEMP_FAILURE_RETRY (write (dfd, buf + written, nread));
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
nread -= ret;
|
||||
written += ret;
|
||||
}
|
||||
while (nread);
|
||||
}
|
||||
return 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user