You're missing the point of strncat. It wasn't meant to be secure and stop
overflowing the destination. It's just a tool that just strcats a certain
amount of bytes. No one would use strcat(s) without first checking the
size of the buffer and of the data to be cated.