disallow creation of objects larger than PTRDIFF_MAX via mmap
[musl] / src / crypt / crypt.c
1 #include <unistd.h>
2 #include <crypt.h>
3
4 char *__crypt_r(const char *, const char *, struct crypt_data *);
5
6 char *crypt(const char *key, const char *salt)
7 {
8         /* This buffer is sufficiently large for all
9          * currently-supported hash types. It needs to be updated if
10          * longer hashes are added. The cast to struct crypt_data * is
11          * purely to meet the public API requirements of the crypt_r
12          * function; the implementation of crypt_r uses the object
13          * purely as a char buffer. */
14         static char buf[128];
15         return __crypt_r(key, salt, (struct crypt_data *)buf);
16 }