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