diff --git a/aplay/aplay.c b/aplay/aplay.c index a4009f3..0dd5b73 100644 --- a/aplay/aplay.c +++ b/aplay/aplay.c @@ -589,7 +589,8 @@ ssize_t safe_read(int fd, void *buf, size_t count) ssize_t result = 0, res; while (count > 0) { - res = read(fd, buf, count); + if ((res = read(fd, buf, count)) == 0) + break; if (res < 0) return result > 0 ? result : res; count -= res;