From eb057846cf0304c5faec30f510965f9071d45e57 Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Tue, 23 Jan 2024 10:27:38 -0500 Subject: [PATCH] isotest: Fix not handling 0 length packets 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 771d24b6d..7e875fa58 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.47.3