When checking cross references with -Tlint, ultimately fall back to
authorschwarze <schwarze@openbsd.org>
Sat, 1 Jul 2017 12:53:56 +0000 (12:53 +0000)
committerschwarze <schwarze@openbsd.org>
Sat, 1 Jul 2017 12:53:56 +0000 (12:53 +0000)
commitad164ce688ba9ce99067ca0b5b37c74fab277e74
tree8bc42d1415bd4ccfe0ebbde45efa6c267c2ac020
parent790e15f938aa09ff2e097f007380aa91ee7d2725
When checking cross references with -Tlint, ultimately fall back to
looking in the current working directory.  Not a security issue
because the files are never open(2)ed, only access(2)ed.
Requested by jmc@ and inspired by mdoclint(1).

This cannot be perfect because it only works for files having the
exact filename ./pagename.sec - mandoc has no way to figure out
which files might contain a manual for multiple names, or that files
in autohell might be called ./pagename.man.in instead, or which
subdirectories might contain additional source files.  Also, it may
hide messages if you have bogus stuff lying around in the directory
where you run mandoc -Tlint.  But jmc@ considers it important, and
good enough for everyday use.

Also avoid leaking the memory for the file name while here.
usr.bin/mandoc/main.c