sas Mon Jul 21 21:11:07 2003 EDT Modified files: /php-src/ext/session session.c Log: MFB proper fix for #24592 Index: php-src/ext/session/session.c diff -u php-src/ext/session/session.c:1.367 php-src/ext/session/session.c:1.368 --- php-src/ext/session/session.c:1.367 Mon Jul 21 17:47:51 2003 +++ php-src/ext/session/session.c Mon Jul 21 21:11:07 2003 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: session.c,v 1.367 2003/07/21 21:47:51 iliaa Exp $ */ +/* $Id: session.c,v 1.368 2003/07/22 01:11:07 sas Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -727,19 +727,18 @@ uint str_len; ulong num_key; int n; - zval **val = NULL; + zval **val; int ret = 0; n = zend_hash_get_current_key_ex(ht, &str, &str_len, &num_key, 0, pos); switch (n) { case HASH_KEY_IS_STRING: - if (zend_hash_find(&EG(symbol_table), str, str_len, (void **) &val) == SUCCESS && val) { - if (!PZVAL_IS_REF(*val)) { - (*val)->is_ref = 1; - (*val)->refcount += 1; - zend_hash_update(ht, str, str_len, val, sizeof(zval *), NULL); - } + if (zend_hash_find(&EG(symbol_table), str, str_len, + (void **) &val) == SUCCESS + && val && Z_TYPE_PP(val) != IS_NULL) { + ZEND_SET_SYMBOL_WITH_LENGTH(ht, str, str_len, *val, + (*val)->refcount + 1 , 1); ret = 1; } break;
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php