moriyoshi Sun Feb 29 00:21:36 2004 EDT Modified files: /php-src/ext/wddx wddx.c Log: - Bugfix #27287 (wddx segfaults during deserialization) http://cvs.php.net/diff.php/php-src/ext/wddx/wddx.c?r1=1.109&r2=1.110&ty=u Index: php-src/ext/wddx/wddx.c diff -u php-src/ext/wddx/wddx.c:1.109 php-src/ext/wddx/wddx.c:1.110 --- php-src/ext/wddx/wddx.c:1.109 Thu Jan 8 03:17:44 2004 +++ php-src/ext/wddx/wddx.c Sun Feb 29 00:21:36 2004 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: wddx.c,v 1.109 2004/01/08 08:17:44 andi Exp $ */ +/* $Id: wddx.c,v 1.110 2004/02/29 05:21:36 moriyoshi Exp $ */ #include "php.h" @@ -883,7 +883,7 @@ st_entry *ent1, *ent2; wddx_stack *stack = (wddx_stack *)user_data; HashTable *target_hash; - zend_class_entry *ce; + zend_class_entry **pce; zval *obj; zval *tmp; TSRMLS_FETCH(); @@ -945,15 +945,14 @@ zend_str_tolower(Z_STRVAL_P(ent1->data), Z_STRLEN_P(ent1->data)); if (zend_hash_find(EG(class_table), Z_STRVAL_P(ent1->data), - Z_STRLEN_P(ent1->data)+1, (void **) &ce)==FAILURE) { + Z_STRLEN_P(ent1->data)+1, (void **) &pce)==FAILURE) { incomplete_class = 1; - ce = PHP_IC_ENTRY; + pce = &PHP_IC_ENTRY; } /* Initialize target object */ MAKE_STD_ZVAL(obj); - INIT_PZVAL(obj); - object_init_ex(obj, ce); + object_init_ex(obj, *pce); /* Merge current hashtable with object's default properties */ zend_hash_merge(Z_OBJPROP_P(obj),
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php