From: Nikita Popov Date: Wed, 24 Jun 2020 10:20:05 +0000 (+0200) Subject: Handle *0 / *1 more consistently X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=565baf05c07f3d1c2971a424fb03854c84b0eccc;p=php Handle *0 / *1 more consistently Avoid throwing a DES salt deprecation warning if the libc crypt implementation is used. --- diff --git a/ext/standard/crypt.c b/ext/standard/crypt.c index b727575fad..92430b69f7 100644 --- a/ext/standard/crypt.c +++ b/ext/standard/crypt.c @@ -99,6 +99,11 @@ PHPAPI zend_string *php_crypt(const char *password, const int pass_len, const ch { char *crypt_res; zend_string *result; + + if (salt[0] == '*' && (salt[1] == '0' || salt[1] == '1')) { + return NULL; + } + /* Windows (win32/crypt) has a stripped down version of libxcrypt and a CryptoApi md5_crypt implementation */ #if PHP_USE_PHP_CRYPT_R @@ -160,8 +165,6 @@ PHPAPI zend_string *php_crypt(const char *password, const int pass_len, const ch ZEND_SECURE_ZERO(output, PHP_MAX_SALT_LEN + 1); return result; } - } else if (salt[0] == '*' && (salt[1] == '0' || salt[1] == '1')) { - return NULL; } else { /* DES Fallback */