diff options
| author | Ilia Alshanetsky <iliaa@php.net> | 2006-11-30 15:59:53 +0000 |
|---|---|---|
| committer | Ilia Alshanetsky <iliaa@php.net> | 2006-11-30 15:59:53 +0000 |
| commit | 891bd7888f0285bafa6328a0bfb84bca95625886 (patch) | |
| tree | d11742bb73bab3ec5baf76836d8c3c6cdff9d7b0 | |
| parent | 20b92bf4ccb82edd5487f70d2736c65deb3b22f5 (diff) | |
| download | php-git-891bd7888f0285bafa6328a0bfb84bca95625886.tar.gz | |
Use reantrant crypt_r() whenever possible.
| -rw-r--r-- | ext/standard/crypt.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/ext/standard/crypt.c b/ext/standard/crypt.c index b147f88b0f..9b06de8070 100644 --- a/ext/standard/crypt.c +++ b/ext/standard/crypt.c @@ -145,8 +145,15 @@ PHP_FUNCTION(crypt) salt[2] = '\0'; #endif } - - RETVAL_STRING(crypt(str, salt), 1); +#ifdef HAVE_CRYPT_R + { + struct crypt_data buffer; + memset(&buffer, 0, sizeof(buffer)); + RETURN_STRING(crypt_r(str, salt, &buffer)); + } +#else + RETURN_STRING(crypt(str, salt), 1); +#endif } /* }}} */ #endif |
