Can i backport this to 5.2?
Scott MacVicar wrote:
scottmac Tue Apr 15 00:59:04 2008 UTC
Modified files: (Branch: PHP_5_3)
/php-src/ext/session session.c
Log:
Fixed bug #44720 (Prevent infinite recursion within session_register)
http://cvs.php.net/viewvc.cgi/php-src/ext/session/session.c?r1=1.417.2.8.2.40.2.6&r2=1.417.2.8.2.40.2.7&diff_format=u
Index: php-src/ext/session/session.c
diff -u php-src/ext/session/session.c:1.417.2.8.2.40.2.6
php-src/ext/session/session.c:1.417.2.8.2.40.2.7
--- php-src/ext/session/session.c:1.417.2.8.2.40.2.6 Tue Mar 11 09:36:41 2008
+++ php-src/ext/session/session.c Tue Apr 15 00:59:04 2008
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: session.c,v 1.417.2.8.2.40.2.6 2008/03/11 09:36:41 dmitry Exp $ */
+/* $Id: session.c,v 1.417.2.8.2.40.2.7 2008/04/15 00:59:04 scottmac Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -1655,12 +1655,19 @@
zval **value;
if (Z_TYPE_PP(entry) == IS_ARRAY) {
+ if (Z_ARRVAL_PP(entry)->nApplyCount > 1) {
+ return;
+ }
+
zend_hash_internal_pointer_reset(Z_ARRVAL_PP(entry));
+ Z_ARRVAL_PP(entry)->nApplyCount++;
while (zend_hash_get_current_data(Z_ARRVAL_PP(entry), (void**)&value) == SUCCESS) {
php_register_var(value TSRMLS_CC);
zend_hash_move_forward(Z_ARRVAL_PP(entry));
}
+
+ Z_ARRVAL_PP(entry)->nApplyCount--;
} else {
convert_to_string_ex(entry);
Scott
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php