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);
 



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to