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

Reply via email to