Edit report at https://bugs.php.net/bug.php?id=62639&edit=1
ID: 62639
Updated by: willfitch@php.net
Reported by: alexshock at yandex dot ru
Summary: XML structure broken
Status: Assigned
Type: Bug
Package: SimpleXML related
Operating System: debian 6.0.5
PHP Version: 5.4.5
Assigned To: acurioso
Block user comment: N
Private report: N
New Comment:
I think that would make more sense. Thanks, Andrew.
Previous Comments:
------------------------------------------------------------------------
[2012-07-30 00:58:13] acurioso@php.net
I can confirm that reverting that patch does fix the bug; however, it causes the original test to
fail again:
=====================================================================
FAILED TEST SUMMARY
---------------------------------------------------------------------
SimpleXML: cast to array [ext/simplexml/tests/034.phpt]
Bug #51615 (PHP crash with wrong HTML in SimpleXML) [ext/simplexml/tests/bug51615.phpt]
=====================================================================
See: ext/simplexml/tests/034.phpt for more information.
Ignore bug51615.phpt for now. That is just a side effect of test 34.
I would actually prefer if I could take the first stab at this bug myself since it was clearly
introduced in my code. I'd be hesitate to just revert the changes since that would break test
34.
------------------------------------------------------------------------
[2012-07-29 23:44:17] acurioso@php.net
After reverting locally do all the unit test cases for SimpleXML still pass? This was not the case
prior to the patch (one test was failing).
I'll work on reverting the change locally on my end tonight and see if I can reproduce the bug
and fix.
------------------------------------------------------------------------
[2012-07-29 23:16:31] willfitch@php.net
Andrew -
Would you mind taking a look at this? I reverted
1e3b32c777829f61fa9a18278e0647e9112d96ea locally, and array typecasting works
fine without the patch. Also, this patch causes the last child in an element to
be skipped in the case pointed out in this
report. I wanted to get your input before I move forward with any changes.
------------------------------------------------------------------------
[2012-07-27 21:27:52] willfitch@php.net
Confirmed in 5.4.5. In the process of verifying the change(s) that introduced
this issue:
--------------------------------------------------------------------------------
object(A)#2 (1) {
["@attributes"]=>
array(1) {
["attr"]=>
string(9) "Some Attr"
}
}
--------------------------------------------------------------------------------
object(A)#3 (2) {
["@attributes"]=>
array(1) {
["attr"]=>
string(9) "Some Attr"
}
[0]=>
string(10) "Some Value"
}
--------------------------------------------------------------------------------
------------------------------------------------------------------------
[2012-07-23 11:16:31] alexshock at yandex dot ru
Description:
------------
In PHP 5.4.0 and higher SimpleXMLElement works strange when trying to obtain children nodes (see
test.php source for details).
Works fine in 5.3.x, I found that this issue occurs after this commit in php git repo:
1e3b32c777829f61fa9a18278e0647e9112d96ea
Test script:
---------------
https://www.dropbox.com/s/j0i47y7q4n4g0g6/test.php
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=62639&edit=1