Not the crypto, but rather the getpass() function, which simply reads a password from standard input without echoing it.
Since the function uses a static buffer, there is a limit on the password length, which apparently on Solaris was set to the absurdly low value of 8 (glibc uses a more reasonable value: 8192).