rrichards Wed Apr 7 12:24:17 2004 EDT Modified files: /php-src/ext/xml compat.c xml.c Log: Fix bug #27821 xml_parse segfaults when xml_set_object called from class method fix memleaks in compat.c http://cvs.php.net/diff.php/php-src/ext/xml/compat.c?r1=1.31&r2=1.32&ty=u Index: php-src/ext/xml/compat.c diff -u php-src/ext/xml/compat.c:1.31 php-src/ext/xml/compat.c:1.32 --- php-src/ext/xml/compat.c:1.31 Tue Feb 24 07:03:32 2004 +++ php-src/ext/xml/compat.c Wed Apr 7 12:24:17 2004 @@ -232,6 +232,7 @@ _build_comment(comment, xmlStrlen(comment), &d_comment, &d_comment_len); parser->h_default(parser->user, d_comment, d_comment_len); + xmlFree(d_comment); } } @@ -257,6 +258,7 @@ _build_entity(name, xmlStrlen(name), &entity, &len); parser->h_default(parser->user, (const xmlChar *) entity, len); + xmlFree(entity); } return NULL; http://cvs.php.net/diff.php/php-src/ext/xml/xml.c?r1=1.150&r2=1.151&ty=u Index: php-src/ext/xml/xml.c diff -u php-src/ext/xml/xml.c:1.150 php-src/ext/xml/xml.c:1.151 --- php-src/ext/xml/xml.c:1.150 Mon Feb 23 11:19:39 2004 +++ php-src/ext/xml/xml.c Wed Apr 7 12:24:17 2004 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: xml.c,v 1.150 2004/02/23 16:19:39 chregu Exp $ */ +/* $Id: xml.c,v 1.151 2004/04/07 16:24:17 rrichards Exp $ */ #define IS_EXT_MODULE @@ -380,6 +380,9 @@ if (parser->baseURI) { efree(parser->baseURI); } + if (parser->object) { + zval_ptr_dtor(&parser->object); + } efree(parser); } @@ -1141,14 +1144,17 @@ if (parser->object) { zval_ptr_dtor(&parser->object); } - - parser->object = *mythis; /* please leave this commented - or ask [EMAIL PROTECTED] before doing it (again) */ /* #ifdef ZEND_ENGINE_2 zval_add_ref(&parser->object); #endif */ + ALLOC_ZVAL(parser->object); + *parser->object = **mythis; + zval_copy_ctor(parser->object); + INIT_PZVAL(parser->object); + RETVAL_TRUE; } /* }}} */
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php