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)
Nov 26 2024, 2:53 PM
Unknown Object (File)
Nov 22 2024, 7:28 AM
Unknown Object (File)
Nov 22 2024, 6:14 AM
Unknown Object (File)
Nov 12 2024, 5:37 AM
Unknown Object (File)
Nov 11 2024, 1:25 AM
Unknown Object (File)
Nov 5 2024, 6:02 PM
Unknown Object (File)
Oct 24 2024, 7:09 AM
Unknown Object (File)
Oct 21 2024, 6:51 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