Estava sem nada pra fazer e resolvi conferir como são implementados alguns OS.
Esses dias estava apanhando em fazer uma buildroot para o SRP, e comecei a perder a fé.
Comparação boba, só peguei o uso de strcpy nesses kerneis.
(Meu inglês é péssimo, mas, prefiro escrever em inglês para ativar o cérebro)
http://pastehtml.com/view/c6z97awc8.html
Algumas conclusões?
- Não analisei a fundo, pode ser que alguns kerneis nem usem a função definida, e sim a builtin no compilador.
- Bootloader do FreeBSD tá com uma implementação errada
- OpenBSD é o mais são, só usa a função interna se necessitar, e só declara uma função segura (strncpy). Ainda estou vendo se só usa a versão segura. O problema dele é a tal libsa... teria que unificar, seria bom.
- Minix depende da libc/função builtin do compilador.