cvs: php4(PHP_4_0_7) /ext/session session.c

From: Date: Sat, 02 Mar 2002 14:20:18 +0000
Subject: cvs: php4(PHP_4_0_7) /ext/session session.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-9579@lists.php.net to get a copy of this message
zeev Sat Mar 2 09:20:18 2002 EDT Modified files: (Branch: PHP_4_0_7) /php4/ext/session session.c Log: MFH - crash bug fix Index: php4/ext/session/session.c diff -u php4/ext/session/session.c:1.237.2.8 php4/ext/session/session.c:1.237.2.9 --- php4/ext/session/session.c:1.237.2.8 Tue Feb 26 14:32:52 2002 +++ php4/ext/session/session.c Sat Mar 2 09:20:17 2002 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: session.c,v 1.237.2.8 2002/02/26 19:32:52 derick Exp $ */ +/* $Id: session.c,v 1.237.2.9 2002/03/02 14:20:17 zeev Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -428,16 +428,17 @@ zval **old_vars = NULL; if (zend_hash_find(&EG(symbol_table), "HTTP_SESSION_VARS", sizeof("HTTP_SESSION_VARS"), (void **)&old_vars) == SUCCESS && Z_TYPE_PP(old_vars) == IS_ARRAY) { - PS(http_session_vars) = *old_vars; - zend_hash_clean(Z_ARRVAL_P(PS(http_session_vars))); + PS(http_session_vars) = *old_vars; + zend_hash_clean(Z_ARRVAL_P(PS(http_session_vars))); } else { - if(old_vars) { - zend_hash_del(&EG(symbol_table), "HTTP_SESSION_VARS", sizeof("HTTP_SESSION_VARS")); - } - MAKE_STD_ZVAL(PS(http_session_vars)); - array_init(PS(http_session_vars)); - ZEND_SET_GLOBAL_VAR_WITH_LENGTH("HTTP_SESSION_VARS", sizeof("HTTP_SESSION_VARS"), PS(http_session_vars), 1, 0); - ZEND_SET_GLOBAL_VAR_WITH_LENGTH("_SESSION", sizeof("_SESSION"), PS(http_session_vars), 1, 0); + if(old_vars) { + zend_hash_del(&EG(symbol_table), "HTTP_SESSION_VARS", sizeof("HTTP_SESSION_VARS")); + } + MAKE_STD_ZVAL(PS(http_session_vars)); + array_init(PS(http_session_vars)); + PS(http_session_vars)->refcount = 2; + zend_hash_update(&EG(symbol_table), "HTTP_SESSION_VARS", sizeof("HTTP_SESSION_VARS"), &PS(http_session_vars), sizeof(zval *), NULL); + zend_hash_update(&EG(symbol_table), "_SESSION", sizeof("_SESSION"), &PS(http_session_vars), sizeof(zval *), NULL); } }

« previous php.cvs (#9579) next »