Page MenuHomeFreeBSD

man(1) does not support some special characters in filenames (double quotes and sub shell character)
ClosedPublic

Authored by wosch on Jan 14 2024, 1:49 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Sep 10, 7:51 PM
Unknown Object (File)
Sat, Sep 7, 4:24 AM
Unknown Object (File)
Fri, Sep 6, 10:43 AM
Unknown Object (File)
Thu, Aug 29, 8:51 PM
Unknown Object (File)
Sun, Aug 25, 3:35 PM
Unknown Object (File)
Sun, Aug 25, 3:35 PM
Unknown Object (File)
Aug 25 2024, 12:05 AM
Unknown Object (File)
Aug 15 2024, 12:12 AM
Subscribers

Details

Summary

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=275967

Unfortunately, there is another problem with double quotes and sub shell character as '`' '$'

$ cp /usr/share/man/man1/cat.1.gz 'c`t.1.gz'
$ /usr/bin/man './c`t.1.gz'
eval: 1: Syntax error: EOF in backquote substitution
eval: 1: Syntax error: Error in command substitution

I think the problem is the usage of eval "string....". I don't know why we are using eval here and if we really need it.

Using eval for untrusted user input does not make a shell script more secure. It is an easy way to shoot yourself in the foot.

Test Plan

Diff Detail

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