summaryrefslogtreecommitdiff
path: root/usr.bin/progress
diff options
context:
space:
mode:
authorgson <gson@NetBSD.org>2021-08-17 07:18:43 +0000
committergson <gson@NetBSD.org>2021-08-17 07:18:43 +0000
commited59f49e9fb8cec2fa7a9597f2a31396ed5d052c (patch)
tree75bf2506dd4e5e2bf78dc4017a5bbf74dd71ef33 /usr.bin/progress
parent6333211bc254496f731da96592ee5d458d8fb77f (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.c10
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,