String handling strcpy and strcat can be used safely but that is the rare exception strncpy and strncat are better, but really utmp specific especially strncat is nontrivial to use correctly strlcpy and strlcat are hard to misuse use them EVERYWHERE by replacing ALL strcpy/cat with strl*, you can grep for potential issues