Fix misuse of readlink() buffer causing an unitialized string ending.

This change affects only Linux, the manpage of readlink() says:
> readlink() places the contents of the symbolic link path in the
> buffer buf, which has size bufsiz. readlink() does not append a null
> byte to buf. It will truncate the contents (to a length of bufsiz
> characters), in case the buffer is too small to hold all of the
> contents.