aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChuck Silvers <chs@FreeBSD.org>2021-02-02 00:21:14 +0000
committerChuck Silvers <chs@FreeBSD.org>2021-03-18 20:12:24 +0000
commit8c59e863e2c03c3b4ab2c403243561a4cc4fcb10 (patch)
treedb1616dcc85595289c863ac2638471c7a68f4ba4
parent120a4bd4e9d05147a9774a2ca4b4eff48e062442 (diff)
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)
-rw-r--r--usr.bin/tail/forward.c2
1 files changed, 1 insertions, 1 deletions
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);