mirror of
https://github.com/containers/fuse-overlayfs.git
synced 2025-09-13 17:28:27 -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
2
main.c
2
main.c
@ -2557,11 +2557,13 @@ copy_fd_to_fd (int sfd, int dfd, char *buf, size_t buf_size)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
written = 0;
|
written = 0;
|
||||||
|
do
|
||||||
{
|
{
|
||||||
ret = TEMP_FAILURE_RETRY (write (dfd, buf + written, nread));
|
ret = TEMP_FAILURE_RETRY (write (dfd, buf + written, nread));
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
nread -= ret;
|
nread -= ret;
|
||||||
|
written += ret;
|
||||||
}
|
}
|
||||||
while (nread);
|
while (nread);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user