The crypt() prototype is in <unistd.h> instead of <crypt.h> on HP-UX. We had no prototype for crypt() there. In 64-bit mode, a crash occurred because the pointer returned by crypt() was truncated before we passed the pointer to apr_cpystrn().