From: Daniel P. Berrangé <berrange@redhat.com> The 'ret' variable should only have a value assigned once we have completely finished reading data, otherwise an error on a subsequent iteration will report an error but not return a negative value. Fixes: e23fd0b7fd36c41e6db49df4f4962762d3ef6ab0 Reported-by: Roman Bogorodskiy <bogorodskiy@gmail.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- src/util/virfdstream.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/util/virfdstream.c b/src/util/virfdstream.c index 4c974ba5d7..cd2ede4501 100644 --- a/src/util/virfdstream.c +++ b/src/util/virfdstream.c @@ -961,10 +961,10 @@ static int virFDStreamRead(virStreamPtr st, char *bytes, size_t nbytes) virFDStreamMsgFree(msg); } - ret = got; if (nbytes > 0) { goto more; } + ret = got; } else { retry: ret = read(fdst->fd, bytes, nbytes); -- 2.53.0