git: 8e05c2373efd - main - wc: Do not use st_size if it equals zero
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 03 Feb 2024 01:36:21 UTC
The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=8e05c2373efd43632b1ec410528552fa01b40a3f commit 8e05c2373efd43632b1ec410528552fa01b40a3f Author: Ricardo Branco <rbranco@suse.de> AuthorDate: 2024-02-03 00:05:05 +0000 Commit: Warner Losh <imp@FreeBSD.org> CommitDate: 2024-02-03 01:34:59 +0000 wc: Do not use st_size if it equals zero Pseudo-filesystems often cannot compute the size of the file correctly and report 0 for the size. Ignore the size when it's zero and fallback to the size unknown code. PR: 276093 Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/985 --- usr.bin/wc/wc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/usr.bin/wc/wc.c b/usr.bin/wc/wc.c index 7cb72212d1cb..76b65e5f870d 100644 --- a/usr.bin/wc/wc.c +++ b/usr.bin/wc/wc.c @@ -230,7 +230,8 @@ cnt(const char *file) (void)close(fd); return (1); } - if (S_ISREG(sb.st_mode)) { + /* pseudo-filesystems advertize a zero size */ + if (S_ISREG(sb.st_mode) && sb.st_size > 0) { reset_siginfo(); charct = sb.st_size; show_cnt(file, linect, wordct, charct, llct);