O único caractere que não é permitido em um caminho é NUL, portanto, não há necessidade de acomodar restrições naturais. Se você quiser restringir artificialmente o conjunto de caracteres válidos (por exemplo, se estiver usando um sistema de arquivos não compatível com POSIX), será necessário verificar a validade dos caracteres da maneira mais difícil.