diff options
author | Ingo Schwarze <schwarze@cvs.openbsd.org> | 2019-02-06 20:54:29 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@cvs.openbsd.org> | 2019-02-06 20:54:29 +0000 |
commit | 3279fc3fdce4ad6887c10f4fa3bc2cfce55c3d5c (patch) | |
tree | 50ad3bc1585793e04a44edc01e4696ec6f5d1c71 /regress/usr.bin/mandoc/eqn/extract.pl | |
parent | 73131747c4fae4a51afba57ee6cdb7f159f78b3c (diff) |
Let roff_getname() end the roff identifier at a tab character
and audit all its callers whether termination is handled correctly.
Resulting improvements:
* An escape or tab ending the macro name in a macro invocation
is discarded, and argument processing is started after it.
* An escape or tab ending a name in ".if d" and ".if r" is preserved.
* An escape ending a name in ".ds" causes the whole request to be ignored.
* A tab ending a name in ".ds" becomes part of the string.
* An escape or tab ending a name in ".rm"
causes the rest of the line to be ignored.
* An escape or tab ending the first name in ".als", ".rn", or ".nr"
causes the whole request to be ignored.
Kurt Jaeger <pi at FreeBSD> made me aware of
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=235456#c0
and in that bug report, comment 0 item (3) is a special case
of this class of issues.
Yes, the "mh" manual pages are no doubt among the worst on the planet.
Diffstat (limited to 'regress/usr.bin/mandoc/eqn/extract.pl')
0 files changed, 0 insertions, 0 deletions