#22903 [Opn->Fbk]: when parsing xml php crashes
| From: | iliaa@php.net | Date: | Wed, 26 Mar 2003 18:45:47 +0000 |
| Subject: | #22903 [Opn->Fbk]: when parsing xml php crashes | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-36506@lists.php.net to get a copy of this message | ||
ID: 22903
Updated by: iliaa@php.net
Reported By: spoerri at duke dot edu
-Status: Open
+Status: Feedback
Bug Type: XML related
Operating System: linux
PHP Version: 4.3.1
New Comment:
Not enough information was provided for us to be able
to handle this bug. Please re-read the instructions at
http://bugs.php.net/how-to-report.php
If you can provide more information, feel free to add it
to this bug and change the status back to "Open".
Thank you for your interest in PHP.
Please provide the shortest possible version of the code (that can be
ran as is) as well as the xml data that causes the problem. Without it
the problem cannot and will not be resolved.
Previous Comments:
------------------------------------------------------------------------
[2003-03-26 12:30:33] spoerri at duke dot edu
I compiled php-4.3.1 with debugging enabled and got the
following error:
Warning: String is not zero-terminated
(Z?Ì?*?*ZZZZZZZZZ1 ) (source:
/usr/src/php-4.3.1/Zend/zend_execute.c:446) in
/var/www/obis_test/ims/phpConnector/phparcims.php on line
1104
------------------------------------------------------------------------
[2003-03-26 09:52:32] iliaa@php.net
Not enough information was provided for us to be able
to handle this bug. Please re-read the instructions at
http://bugs.php.net/how-to-report.php
If you can provide more information, feel free to add it
to this bug and change the status back to "Open".
Thank you for your interest in PHP.
Unable to replicate the bug given the source code given.
------------------------------------------------------------------------
[2003-03-26 09:41:26] spoerri at duke dot edu
I'm sending you here only code snippets, in case you need
the rest of the code let me know. Note: the code is
embedded in the code for an object.
** here's the code used to setup the parser: ***
$this->xml_parser=xml_parser_create($this->encode_type);
xml_set_object($this->xml_parser,&$this);
xml_set_element_handler($this->xml_parser,"startElement","endElement");
xml_set_character_data_handler($this->xml_parser,"cdata");
$this->depth=0;
$this->parent=array();
$this->pobject=array();
$this->$IMSError=array();
xml_parse($this->xml_parser,$XMLText);
xml_parser_free($this->xml_parser);
** here's the code I use to parse the 'LAYERINFO' tag: **
case 'LAYERINFO':
//parent tag is always RESPONSE
$l = new arcLayer($attrs['ID'],
$attrs['TYPE'],
($attrs['NAME']?$attrs['NAME']:''),($attrs['MINSCALE']?$attrs['MINSCALE']:0),($attrs['MAXSCALE']?$attrs['MAXSCALE']:0),
(strtolower($attrs['VISIBLE'])=='true'?1:0), 1);
if ($this->returnLayer($l->Name,$index)) {
if ($this->Layers[$index]->Service) {
$this->Layers[$index]=$l;
$this->CurrentLayer=&$this->Layers[$index];
}
}else{
$this->Layers[]=$l;
$this->CurrentLayer=&$this->Layers[count($this->Layers)-1];
}
break;
------------------------------------------------------------------------
[2003-03-26 09:40:34] spoerri at duke dot edu
I'm sending you here only code snippets, in case you need
the rest of the code let me know. Note: the code is
embedded in the code for an object.
** here's the code used to setup the parser: ***
$this->xml_parser=xml_parser_create($this->encode_type);
xml_set_object($this->xml_parser,&$this);
xml_set_element_handler($this->xml_parser,"startElement","endElement");
xml_set_character_data_handler($this->xml_parser,"cdata");
$this->depth=0;
$this->parent=array();
$this->pobject=array();
$this->$IMSError=array();
xml_parse($this->xml_parser,$XMLText);
xml_parser_free($this->xml_parser);
** here's the code I use to parse the 'LAYERINFO' tag: **
case 'LAYERINFO':
//parent tag is always RESPONSE
$l = new arcLayer($attrs['ID'],
$attrs['TYPE'],
($attrs['NAME']?$attrs['NAME']:''),($attrs['MINSCALE']?$attrs['MINSCALE']:0),($attrs['MAXSCALE']?$attrs['MAXSCALE']:0),
(strtolower($attrs['VISIBLE'])=='true'?1:0), 1);
if ($this->returnLayer($l->Name,$index)) {
if ($this->Layers[$index]->Service) {
$this->Layers[$index]=$l;
$this->CurrentLayer=&$this->Layers[$index];
}
}else{
$this->Layers[]=$l;
$this->CurrentLayer=&$this->Layers[count($this->Layers)-1];
}
break;
------------------------------------------------------------------------
[2003-03-26 09:23:48] iliaa@php.net
What is your XML parsing code?
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/22903
--
Edit this bug report at http://bugs.php.net/?id=22903&edit=1