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

Lint
Lint Skipped
Unit
Tests Skipped