Reported upstream: https://bugs.php.net/bug.php?id=67512 --- ext/standard/crypt.c.orig 2014-06-25 13:10:38.930010191 -0300 +++ ext/standard/crypt.c 2014-06-25 13:45:09.762124864 -0300 @@ -228,18 +228,20 @@ } } #else - -# if defined(HAVE_CRYPT_R) && (defined(_REENTRANT) || defined(_THREAD_SAFE)) { -# if defined(CRYPT_R_STRUCT_CRYPT_DATA) +# if defined(HAVE_CRYPT_R) +# if defined(CRYPT_R_STRUCT_CRYPT_DATA) struct crypt_data buffer; memset(&buffer, 0, sizeof(buffer)); -# elif defined(CRYPT_R_CRYPTD) +# elif defined(CRYPT_R_CRYPTD) CRYPTD buffer; -# else -# error Data struct used by crypt_r() is unknown. Please report. -# endif +# else +# error Data struct used by crypt_r() is unknown. Please report. +# endif crypt_res = crypt_r(password, salt, &buffer); +# else + crypt_res = crypt(passwrd, salt); +#endif if (!crypt_res || (salt[0] == '*' && salt[1] == '0')) { return FAILURE; } else { @@ -247,7 +249,6 @@ return SUCCESS; } } -# endif #endif } /* }}} */