From 4472fd66d0067347e3123896ae1b33f8bd444d56 Mon Sep 17 00:00:00 2001 From: Cosimo Cecchi Date: Thu, 6 Jun 2024 17:24:07 +0000 Subject: [PATCH] lam: fail on I/O errors I/O errors should be reported; however lam currently does not disambiguate between EOF because end-of-file was reached and EOF because an I/O error occurred. This commit changes lam to exit with EX_IOERR when an I/O error occurs. Reviewed by: imp, allanjude Sponsored by: Apple Inc. Differential Revision: https://reviews.freebsd.org/D45437 --- usr.bin/lam/lam.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/usr.bin/lam/lam.c b/usr.bin/lam/lam.c index 68cb4b94657..2194ae7ab59 100644 --- a/usr.bin/lam/lam.c +++ b/usr.bin/lam/lam.c @@ -43,6 +43,7 @@ #include #include #include +#include #include #define MAXOFILES 20 @@ -212,6 +213,9 @@ gatherline(struct openfile *ip) *p = '\0'; if (c == EOF) { ip->eof = 1; + if (ferror(ip->fp)) { + err(EX_IOERR, NULL); + } if (ip->fp == stdin) fclose(stdin); morefiles--;