]> granicus.if.org Git - php/commitdiff
Don't assume the SHA-based crypt constants are registered
authorJoey Smith <joey@php.net>
Tue, 30 Mar 2010 10:10:20 +0000 (10:10 +0000)
committerJoey Smith <joey@php.net>
Tue, 30 Mar 2010 10:10:20 +0000 (10:10 +0000)
this is a partial fix for 51435.

ext/standard/crypt.c

index a89fd5a10fdbb7138f66eb8c12d719db8f3cc959..471daffbcd4c030f31bc33a2406ad22f1073780c 100644 (file)
@@ -107,9 +107,14 @@ PHP_MINIT_FUNCTION(crypt) /* {{{ */
        REGISTER_LONG_CONSTANT("CRYPT_EXT_DES", PHP_EXT_DES_CRYPT, CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("CRYPT_MD5", PHP_MD5_CRYPT, CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("CRYPT_BLOWFISH", PHP_BLOWFISH_CRYPT, CONST_CS | CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("CRYPT_SHA256", PHP_SHA256_CRYPT, CONST_CS | CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("CRYPT_SHA512", PHP_SHA512_CRYPT, CONST_CS | CONST_PERSISTENT);
 
+#ifdef PHP_SHA256_CRYPT
+   REGISTER_LONG_CONSTANT("CRYPT_SHA256", PHP_SHA256_CRYPT, CONST_CS | CONST_PERSISTENT);
+#endif
+
+#ifdef PHP_SHA512_CRYPT
+   REGISTER_LONG_CONSTANT("CRYPT_SHA512", PHP_SHA512_CRYPT, CONST_CS | CONST_PERSISTENT);
+#endif
 
 #ifdef PHP_USE_PHP_CRYPT_R
        php_init_crypt_r();