From: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> It is in fact possible to receive 0 length packets since that probably means their status is not sucess. --- tools/isotest.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/isotest.c b/tools/isotest.c index 771d24b6d2a6..7e875fa58b15 100644 --- a/tools/isotest.c +++ b/tools/isotest.c @@ -642,7 +642,7 @@ static void dump_mode(int fd, int sk, char *peer) } syslog(LOG_INFO, "Receiving ..."); - while ((len = read(sk, buf, data_size)) > 0) { + while ((len = read(sk, buf, data_size)) >= 0) { if (fd >= 0) { len = write(fd, buf, len); if (len < 0) { @@ -680,7 +680,7 @@ static void recv_mode(int fd, int sk, char *peer) int r; r = recv(sk, buf, data_size, 0); - if (r <= 0) { + if (r < 0) { if (r < 0) syslog(LOG_ERR, "Read failed: %s (%d)", strerror(errno), errno); -- 2.43.0