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)
Sun, Jun 23, 10:59 AM
Unknown Object (File)
Apr 15 2024, 6:16 AM
Unknown Object (File)
Mar 18 2024, 5:28 PM
Unknown Object (File)
Mar 18 2024, 5:28 PM
Unknown Object (File)
Mar 18 2024, 5:28 PM
Unknown Object (File)
Mar 16 2024, 4:36 PM
Unknown Object (File)
Feb 16 2024, 5:47 PM
Unknown Object (File)
Feb 8 2024, 8:59 PM
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