diff options
| author | gson <gson@NetBSD.org> | 2021-08-17 07:18:43 +0000 |
|---|---|---|
| committer | gson <gson@NetBSD.org> | 2021-08-17 07:18:43 +0000 |
| commit | ed59f49e9fb8cec2fa7a9597f2a31396ed5d052c (patch) | |
| tree | 75bf2506dd4e5e2bf78dc4017a5bbf74dd71ef33 /usr.bin/progress | |
| parent | 6333211bc254496f731da96592ee5d458d8fb77f (diff) | |
Add missing check for error returns from read(). Found by inspection
while reviewing the changes suggested by RVP in PR install/56303, but
not believed to be the cause of the failure reported in that PR.
Diffstat (limited to 'usr.bin/progress')
| -rw-r--r-- | usr.bin/progress/progress.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/usr.bin/progress/progress.c b/usr.bin/progress/progress.c index 3f0b11f37bf..87c7ab10dc8 100644 --- a/usr.bin/progress/progress.c +++ b/usr.bin/progress/progress.c @@ -1,4 +1,4 @@ -/* $NetBSD: progress.c,v 1.24 2021/08/09 10:46:39 gson Exp $ */ +/* $NetBSD: progress.c,v 1.25 2021/08/17 07:18:43 gson Exp $ */ /*- * Copyright (c) 2003 The NetBSD Foundation, Inc. @@ -31,7 +31,7 @@ #include <sys/cdefs.h> #ifndef lint -__RCSID("$NetBSD: progress.c,v 1.24 2021/08/09 10:46:39 gson Exp $"); +__RCSID("$NetBSD: progress.c,v 1.25 2021/08/17 07:18:43 gson Exp $"); #endif /* not lint */ #include <sys/types.h> @@ -231,7 +231,11 @@ main(int argc, char *argv[]) do { nr = read(fd, fb_buf, buffersize); } while (nr < 0 && errno == EINTR); - if (nr <= 0) + if (nr < 0) { + progressmeter(1); + err(1, "reading input"); + } + if (nr == 0) break; for (off = 0; nr; nr -= nw, off += nw, bytes += nw) if ((nw = write(outpipe[1], fb_buf + off, |
