aports/main/php/fix-crypt.patch
2016-03-25 08:08:42 +00:00

49 lines
1.2 KiB
Diff

https://bugs.php.net/bug.php?id=67512
--- php-5.6.19.orig/ext/standard/crypt.c
+++ php-5.6.19/ext/standard/crypt.c
@@ -58,6 +58,7 @@
#include "php_lcg.h"
#include "php_crypt.h"
#include "php_rand.h"
+#include "php_config.h"
/* The capabilities of the crypt() function is determined by the test programs
* run by configure from aclocal.m4. They will set PHP_STD_DES_CRYPT,
@@ -227,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 {
@@ -246,7 +249,6 @@
return SUCCESS;
}
}
-# endif
#endif
}
/* }}} */