Possible problem with EXPAT functions

From: Date: Tue, 29 Mar 2005 05:41:34 +0000
Subject: Possible problem with EXPAT functions
Groups: php.general 
Request: Send a blank email to php-general+get-211756@lists.php.net to get a copy of this message
Hi People, I'm working on some complex PHP4 OOP Scripts and at a really unusual point I'm getting the following error in my apache errorlog: *** glibc detected *** double free or corruption (!prev): 0x0828c510 *** [Tue Mar 29 07:09:27 2005] [notice] child pid 9110 exit signal Aborted (6) This doesn't seem as a error I should be able to cause. I'm using: PHP 4.3.10 Apache 1.3.33 Slackware 10 packages The latest Zend Optimizer This has only happened so far after an EXPAT xml parse. The reproduce code is below. If someone can confirm this error I can report it as a bug.. I just wanted to make sure it is one :) regards, Evert <? 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')); ?>

« previous php.general (#211756) next »