Skip to content
Commit 87215e7e authored by Jonathan Marten's avatar Jonathan Marten Committed by Luigi Toscano
Browse files

man ioslave: asserts trying to display pam(8)

Summary:
That page, and many others, links to another page with just a plain name:

  .so PAM.8

This is read by man2html and passed to MANProtocol::readManPage() with a filename of "../PAM.8".  This is then resolved against the containing directory "/usr/share/man/man8", becoming "/usr/share/man/PAM.8".  No such file exists and the mandir.entryList().first() asserts because the list is empty.

The relative filename is correct in the case of other pages. e.g. telinit(8) which uses:

  .so man8/init.8

So it is not enough to simply ignore the "..".  The change to man2html here attempts to correct the reference by detecting whether it is of the form "../page.sect" and is not "../manN/page.sect", and removing the ".." component only in the first case.

While investigating this I found it useful to have a better diagnostic if the .so page could not be found.  The change here to kio_man.cpp detects that case and displays an error page instead of asserting.  This sh...
parent d8b900fd
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment