git: 60cacd2e41e1 - releng/13.0 - tail: fix "tail -F" file rotation detection
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 11 Jan 2022 18:15:01 UTC
The branch releng/13.0 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=60cacd2e41e17aeaf7dcbdfe4057028a5b8b9d1a commit 60cacd2e41e17aeaf7dcbdfe4057028a5b8b9d1a Author: Chuck Silvers <chs@FreeBSD.org> AuthorDate: 2021-02-02 00:21:14 +0000 Commit: Ed Maste <emaste@FreeBSD.org> CommitDate: 2022-01-10 14:51:54 +0000 tail: fix "tail -F" file rotation detection When checking if the newly opened file is the same as the old one, we need to fstat() the new file descriptor, not the old one again. Reviewed by: glebius Sponsored by: Netflix (cherry picked from commit 7787e7eed9d2a43fb6eb66666040f1b495995a2f) (cherry picked from commit 8c59e863e2c03c3b4ab2c403243561a4cc4fcb10) Approved by: so Errata: FreeBSD-EN-22:05.tail --- usr.bin/tail/forward.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/tail/forward.c b/usr.bin/tail/forward.c index 2888bd18816e..878cb5a4550b 100644 --- a/usr.bin/tail/forward.c +++ b/usr.bin/tail/forward.c @@ -367,7 +367,7 @@ follow(file_info_t *files, enum STYLE style, off_t off) continue; ftmp = fileargs_fopen(fa, file->file_name, "r"); if (ftmp == NULL || - fstat(fileno(file->fp), &sb2) == -1) { + fstat(fileno(ftmp), &sb2) == -1) { if (errno != ENOENT) ierr(file->file_name); show(file);