arpad Fri, 11 Nov 2011 14:42:18 +0000 Revision: http://svn.php.net/viewvc?view=revision&revision=319055
Log: Fix hash key length in register/remove_user_shutdown_function Changed paths: U php/php-src/branches/PHP_5_4/ext/session/session.c U php/php-src/branches/PHP_5_4/ext/standard/basic_functions.c U php/php-src/branches/PHP_5_4/ext/standard/basic_functions.h U php/php-src/trunk/ext/session/session.c U php/php-src/trunk/ext/standard/basic_functions.c U php/php-src/trunk/ext/standard/basic_functions.h
Modified: php/php-src/branches/PHP_5_4/ext/session/session.c =================================================================== --- php/php-src/branches/PHP_5_4/ext/session/session.c 2011-11-11 14:12:18 UTC (rev 319054) +++ php/php-src/branches/PHP_5_4/ext/session/session.c 2011-11-11 14:42:18 UTC (rev 319055) @@ -1638,7 +1638,7 @@ shutdown_function_entry.arguments[0] = callback; /* add shutdown function, removing the old one if it exists */ - if (!register_user_shutdown_function("session_shutdown", &shutdown_function_entry TSRMLS_CC)) { + if (!register_user_shutdown_function("session_shutdown", sizeof("session_shutdown"), &shutdown_function_entry TSRMLS_CC)) { zval_ptr_dtor(&callback); efree(shutdown_function_entry.arguments); php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to register session shutdown function"); @@ -1646,7 +1646,7 @@ } } else { /* remove shutdown function */ - remove_user_shutdown_function("session_shutdown" TSRMLS_CC); + remove_user_shutdown_function("session_shutdown", sizeof("session_shutdown") TSRMLS_CC); } if (PS(mod) && PS(session_status) == php_session_none && PS(mod) != &ps_mod_user) { @@ -1661,7 +1661,7 @@ } /* remove shutdown function */ - remove_user_shutdown_function("session_shutdown" TSRMLS_CC); + remove_user_shutdown_function("session_shutdown", sizeof("session_shutdown") TSRMLS_CC); for (i = 0; i < 6; i++) { if (!zend_is_callable(*args[i], 0, &name TSRMLS_CC)) { Modified: php/php-src/branches/PHP_5_4/ext/standard/basic_functions.c =================================================================== --- php/php-src/branches/PHP_5_4/ext/standard/basic_functions.c 2011-11-11 14:12:18 UTC (rev 319054) +++ php/php-src/branches/PHP_5_4/ext/standard/basic_functions.c 2011-11-11 14:42:18 UTC (rev 319055) @@ -5081,21 +5081,21 @@ } /* }}} */ -PHPAPI zend_bool register_user_shutdown_function(char *function_name, php_shutdown_function_entry *shutdown_function_entry TSRMLS_DC) /* {{{ */ +PHPAPI zend_bool register_user_shutdown_function(char *function_name, size_t function_len, php_shutdown_function_entry *shutdown_function_entry TSRMLS_DC) /* {{{ */ { if (!BG(user_shutdown_function_names)) { ALLOC_HASHTABLE(BG(user_shutdown_function_names)); zend_hash_init(BG(user_shutdown_function_names), 0, NULL, (void (*)(void *)) user_shutdown_function_dtor, 0); } - return zend_hash_update(BG(user_shutdown_function_names), function_name, sizeof(function_name), shutdown_function_entry, sizeof(php_shutdown_function_entry), NULL) != FAILURE; + return zend_hash_update(BG(user_shutdown_function_names), function_name, function_len, shutdown_function_entry, sizeof(php_shutdown_function_entry), NULL) != FAILURE; } /* }}} */ -PHPAPI zend_bool remove_user_shutdown_function(char *function_name TSRMLS_DC) /* {{{ */ +PHPAPI zend_bool remove_user_shutdown_function(char *function_name, size_t function_len TSRMLS_DC) /* {{{ */ { if (BG(user_shutdown_function_names)) { - return zend_hash_del_key_or_index(BG(user_shutdown_function_names), function_name, sizeof(function_name), 0, HASH_DEL_KEY) != FAILURE; + return zend_hash_del_key_or_index(BG(user_shutdown_function_names), function_name, function_len, 0, HASH_DEL_KEY) != FAILURE; } return 0; Modified: php/php-src/branches/PHP_5_4/ext/standard/basic_functions.h =================================================================== --- php/php-src/branches/PHP_5_4/ext/standard/basic_functions.h 2011-11-11 14:12:18 UTC (rev 319054) +++ php/php-src/branches/PHP_5_4/ext/standard/basic_functions.h 2011-11-11 14:42:18 UTC (rev 319055) @@ -257,8 +257,8 @@ int arg_count; } php_shutdown_function_entry; -PHPAPI extern zend_bool register_user_shutdown_function(char *function_name, php_shutdown_function_entry *shutdown_function_entry TSRMLS_DC); -PHPAPI extern zend_bool remove_user_shutdown_function(char *function_name TSRMLS_DC); +PHPAPI extern zend_bool register_user_shutdown_function(char *function_name, size_t function_len, php_shutdown_function_entry *shutdown_function_entry TSRMLS_DC); +PHPAPI extern zend_bool remove_user_shutdown_function(char *function_name, size_t function_len TSRMLS_DC); PHPAPI extern zend_bool append_user_shutdown_function(php_shutdown_function_entry shutdown_function_entry TSRMLS_DC); #endif /* BASIC_FUNCTIONS_H */ Modified: php/php-src/trunk/ext/session/session.c =================================================================== --- php/php-src/trunk/ext/session/session.c 2011-11-11 14:12:18 UTC (rev 319054) +++ php/php-src/trunk/ext/session/session.c 2011-11-11 14:42:18 UTC (rev 319055) @@ -1638,7 +1638,7 @@ shutdown_function_entry.arguments[0] = callback; /* add shutdown function, removing the old one if it exists */ - if (!register_user_shutdown_function("session_shutdown", &shutdown_function_entry TSRMLS_CC)) { + if (!register_user_shutdown_function("session_shutdown", sizeof("session_shutdown"), &shutdown_function_entry TSRMLS_CC)) { zval_ptr_dtor(&callback); efree(shutdown_function_entry.arguments); php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to register session shutdown function"); @@ -1646,7 +1646,7 @@ } } else { /* remove shutdown function */ - remove_user_shutdown_function("session_shutdown" TSRMLS_CC); + remove_user_shutdown_function("session_shutdown", sizeof("session_shutdown") TSRMLS_CC); } if (PS(mod) && PS(session_status) == php_session_none && PS(mod) != &ps_mod_user) { @@ -1661,7 +1661,7 @@ } /* remove shutdown function */ - remove_user_shutdown_function("session_shutdown" TSRMLS_CC); + remove_user_shutdown_function("session_shutdown", sizeof("session_shutdown") TSRMLS_CC); for (i = 0; i < 6; i++) { if (!zend_is_callable(*args[i], 0, &name TSRMLS_CC)) { Modified: php/php-src/trunk/ext/standard/basic_functions.c =================================================================== --- php/php-src/trunk/ext/standard/basic_functions.c 2011-11-11 14:12:18 UTC (rev 319054) +++ php/php-src/trunk/ext/standard/basic_functions.c 2011-11-11 14:42:18 UTC (rev 319055) @@ -5116,21 +5116,21 @@ } /* }}} */ -PHPAPI zend_bool register_user_shutdown_function(char *function_name, php_shutdown_function_entry *shutdown_function_entry TSRMLS_DC) /* {{{ */ +PHPAPI zend_bool register_user_shutdown_function(char *function_name, size_t function_len, php_shutdown_function_entry *shutdown_function_entry TSRMLS_DC) /* {{{ */ { if (!BG(user_shutdown_function_names)) { ALLOC_HASHTABLE(BG(user_shutdown_function_names)); zend_hash_init(BG(user_shutdown_function_names), 0, NULL, (void (*)(void *)) user_shutdown_function_dtor, 0); } - return zend_hash_update(BG(user_shutdown_function_names), function_name, sizeof(function_name), shutdown_function_entry, sizeof(php_shutdown_function_entry), NULL) != FAILURE; + return zend_hash_update(BG(user_shutdown_function_names), function_name, function_len, shutdown_function_entry, sizeof(php_shutdown_function_entry), NULL) != FAILURE; } /* }}} */ -PHPAPI zend_bool remove_user_shutdown_function(char *function_name TSRMLS_DC) /* {{{ */ +PHPAPI zend_bool remove_user_shutdown_function(char *function_name, size_t function_len TSRMLS_DC) /* {{{ */ { if (BG(user_shutdown_function_names)) { - return zend_hash_del_key_or_index(BG(user_shutdown_function_names), function_name, sizeof(function_name), 0, HASH_DEL_KEY) != FAILURE; + return zend_hash_del_key_or_index(BG(user_shutdown_function_names), function_name, function_len, 0, HASH_DEL_KEY) != FAILURE; } return 0; Modified: php/php-src/trunk/ext/standard/basic_functions.h =================================================================== --- php/php-src/trunk/ext/standard/basic_functions.h 2011-11-11 14:12:18 UTC (rev 319054) +++ php/php-src/trunk/ext/standard/basic_functions.h 2011-11-11 14:42:18 UTC (rev 319055) @@ -257,8 +257,8 @@ int arg_count; } php_shutdown_function_entry; -PHPAPI extern zend_bool register_user_shutdown_function(char *function_name, php_shutdown_function_entry *shutdown_function_entry TSRMLS_DC); -PHPAPI extern zend_bool remove_user_shutdown_function(char *function_name TSRMLS_DC); +PHPAPI extern zend_bool register_user_shutdown_function(char *function_name, size_t function_len, php_shutdown_function_entry *shutdown_function_entry TSRMLS_DC); +PHPAPI extern zend_bool remove_user_shutdown_function(char *function_name, size_t function_len TSRMLS_DC); PHPAPI extern zend_bool append_user_shutdown_function(php_shutdown_function_entry shutdown_function_entry TSRMLS_DC); #endif /* BASIC_FUNCTIONS_H */
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php