ID:               32494
 User updated by:  evert at rooftopsolutions dot nl
 Reported By:      evert at rooftopsolutions dot nl
 Status:           Verified
 Bug Type:         XML related
 Operating System: Linux glibc 2.3.4
 PHP Version:      4CVS-2005-03-30
 New Comment:

Thank you rmartins!!!


Previous Comments:
------------------------------------------------------------------------

[2005-05-05 00:10:43] rmartins at dcc dot online dot pt

Try freeing the parser via xml_parser_free()

Ricardo Martins

------------------------------------------------------------------------

[2005-03-30 23:44:59] [EMAIL PROTECTED]

It happens with the bundled expat library too..


------------------------------------------------------------------------

[2005-03-30 17:11:36] evert at rooftopsolutions dot nl

My configure line, thanx your help! I need to wait for the stable
versions for updates. if you know a workaround, please let me know :)

'./configure' '--prefix=/usr' '--disable-static'
'--with-apxs=/usr/sbin/apxs' '--sysconfdir=/etc'
'--enable-discard-path' '--with-config-file-path=/etc/apache'
'--enable-safe-mode' '--with-openssl' '--with-mhash' '--enable-bcmath'
'--with-bz2' '--with-pic' '--enable-calendar' '--enable-ctype'
'--with-gdbm' '--with-db3' '--with-imap-ssl=/usr/local/lib/c-client'
'--with-imap=/usr/local/lib/c-client' '--enable-dbase' '--enable-ftp'
'--with-iconv' '--with-exif' '--enable-exif' '--with-gd'
'--enable-gd-native-ttf' '--with-jpeg-dir=/usr' '--with-png'
'--with-gmp' '--with-mysql=shared,/usr' '--with-gettext=shared,/usr'
'--with-expat-dir=/usr' '--with-xml' '--enable-wddx' '--with-mm=/usr'
'--enable-trans-sid' '--enable-shmop' '--enable-sockets'
'--with-regex=php' '--enable-sysvsem' '--enable-sysvshm' '--enable-yp'
'--enable-memory-limit' '--with-tsrm-pthreads' '--enable-shared'
'--disable-debug' '--with-zlib=/usr'

------------------------------------------------------------------------

[2005-03-30 07:56:29] [EMAIL PROTECTED]

I can reproduce this when using external expat library.
What was the configure line you used for PHP?


------------------------------------------------------------------------

[2005-03-30 02:05:33] evert at rooftopsolutions dot nl

Description:
------------
My PHP crashes when using expat functions in a class.
My scripts opens the 'test' file, but it doesn't matter if it exists or
not.

Right now I'm unable to check this with the latest cvs, but I did test
this on multiple servers running 4.3.10

Reproduce code:
---------------
<?

 class sParser {


       function onStartElement($parser,$name,$attribs) {

               return false;

       }

       function onEndElement($parser,$name) {

               return false;

       }

       function onCDATA($parser,$data) {

               return false;

       }

       function onProcessInstruction($parser,$target,$data) {

               return false;

       }


       function onXMLError($line,$errorcode,$errorstring) {

               return false;

       }


       function xmlparse($data) {

               $this->parser = xml_parser_create('UTF-8');
              
xml_parser_set_option($this->parser,XML_OPTION_CASE_FOLDING,false);
               xml_set_element_handler($this->parser,array($this,
'onStartElement'),array($this,'onEndElement'));
              
xml_set_character_data_handler($this->parser,array($this,'onCDATA'));
              
xml_set_processing_instruction_handler($this->parser,array($this,'onProcessInstruction'));
               if (!xml_parse($this->parser,$data)) {
                      
$this->onXMLError(xml_get_current_line_number($this->parser),
xml_get_error_code($this->parser),
xml_error_string(xml_get_error_code($
this->parser)));
                       return false;
               } else return $this->parsedData;

       }

       function execute($data) {

               return $this->xmlparse($data);

       }

 }

 $disp = new sParser();

 $disp->execute(file_get_contents('test'));


?> 

Expected result:
----------------
No errors

Actual result:
--------------
PHP Crash

my apache logs says:

[Tue Mar 29 07:07:25 2005] [notice] child pid 9106 exit signal Aborted
(6)
*** glibc detected *** double free or corruption (!prev): 0x08205058
***



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=32494&edit=1

Reply via email to