Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 01 May 2026 19:21:09 +0000
From:      Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav <des@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Cc:        Aaron LI <aly@aaronly.me>
Subject:   git: 771a65210018 - stable/15 - tail(1): Fix -r (reverse) to work on pseudo filesystems
Message-ID:  <69f4fd25.3b1fe.18c5961a@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch stable/15 has been updated by des:

URL: https://cgit.FreeBSD.org/src/commit/?id=771a65210018c68198ea413df10225e87a0ea909

commit 771a65210018c68198ea413df10225e87a0ea909
Author:     Aaron LI <aly@aaronly.me>
AuthorDate: 2026-03-17 04:53:49 +0000
Commit:     Dag-Erling Smørgrav <des@FreeBSD.org>
CommitDate: 2026-05-01 16:03:17 +0000

    tail(1): Fix -r (reverse) to work on pseudo filesystems
    
    Pseudo filesystems (e.g., procfs) advertise a zero file size.
    Fix reverse() to handle such a case similarly as forward() so
    that '-r' works on pseudo filesystems.
    
    Signed-off-by:  Aaron LI <aly@aaronly.me>
    Reviewed by:    pouria, Ricardo Branco <rbranco@suse.de>, des
    Fixes:          1fb3caee7 ("tail: Do not trust st_size if it equals zero.")
    Pull-Request:   https://github.com/freebsd/freebsd-src/pull/2080
    
    (cherry picked from commit 4feeca3193c316c18472cd40f215446fda3bd739)
---
 usr.bin/tail/reverse.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/usr.bin/tail/reverse.c b/usr.bin/tail/reverse.c
index 1fa8784dec6d..690101c0b803 100644
--- a/usr.bin/tail/reverse.c
+++ b/usr.bin/tail/reverse.c
@@ -78,7 +78,7 @@ reverse(FILE *fp, const char *fn, enum STYLE style, off_t off, struct stat *sbp)
 	if (style != REVERSE && off == 0)
 		return;
 
-	if (S_ISREG(sbp->st_mode))
+	if (S_ISREG(sbp->st_mode) && sbp->st_size > 0)
 		r_reg(fp, fn, style, off, sbp);
 	else
 		switch(style) {


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69f4fd25.3b1fe.18c5961a>