Edit report at https://bugs.php.net/bug.php?id=62639&edit=1
ID: 62639 Updated by: willfi...@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] acuri...@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] acuri...@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] willfi...@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] willfi...@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