Page MenuHomeFreeBSD

man: do not ignore the exit status of roff tools
ClosedPublic

Authored by wosch on Mon, Apr 15, 1:06 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, May 3, 4:35 AM
Unknown Object (File)
Tue, Apr 30, 1:15 AM
Unknown Object (File)
Mon, Apr 29, 5:03 PM
Unknown Object (File)
Fri, Apr 26, 5:12 AM
Unknown Object (File)
Sat, Apr 20, 9:01 AM
Unknown Object (File)
Sat, Apr 20, 8:23 AM
Unknown Object (File)
Sat, Apr 20, 6:53 AM
Unknown Object (File)
Wed, Apr 17, 6:49 PM
Subscribers

Details

Summary
Test Plan

cat /dev/null > /tmp/bla.1.gz
man /tmp/bla.1.gz >/dev/null; echo $?

gzcat: /tmp/bla.1.gz: unexpected end of file
gzcat: /tmp/bla.1.gz: unexpected end of file
grotty:<standard input>:(<standard input>):6: fatal error: 'V' command invalid before first 'p' command
1

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

wosch requested review of this revision.Mon, Apr 15, 1:06 PM
wosch added reviewers: kevans, bapt, emaste, jilles.

OK. Discarding errors from $cattool is not directly related to the original issue, right?

This revision is now accepted and ready to land.Mon, Apr 15, 1:15 PM

OK. Discarding errors from $cattool is not directly related to the original issue, right?

gzip may print (a useless) error message for large files if we catch SIGPIPE. E.g.

small input
(set -o pipefail; trap '' SIGPIPE; man cat | gzip |gzip -dc | head -1 >/dev/null; echo $?)
0

large input for gzcat
(set -o pipefail; trap '' SIGPIPE; man tcsh | gzip |gzip -dc | head -1 >/dev/null; echo $?)
gzcat: error writing to output: Broken pipe
gzcat: /usr/share/man/man1/tcsh.1.gz: uncompress failed
gzip: error writing to output: Broken pipe
1

You don't want to bother users with this new warnings.