Edit report at https://bugs.php.net/bug.php?id=55323&edit=1
ID: 55323 Updated by: dmi...@php.net Reported by: webm4st0r at gmail dot com Summary: SoapClient segmentation fault when XSD_TYPEKIND_EXTENSION contains itself -Status: Assigned +Status: Closed Type: Bug Package: SOAP related Operating System: Any PHP Version: Irrelevant Assigned To: dmitry Block user comment: N Private report: N New Comment: This bug has been fixed in SVN. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. For Windows: http://windows.php.net/snapshots/ Thank you for the report, and for helping us make PHP better. Previous Comments: ------------------------------------------------------------------------ [2011-08-10 13:44:45] dmi...@php.net Automatic comment from SVN on behalf of dmitry Revision: http://svn.php.net/viewvc/?view=revision&revision=314737 Log: Fixed bug #55323 (SoapClient segmentation fault when XSD_TYPEKIND_EXTENSION contains itself) ------------------------------------------------------------------------ [2011-08-01 23:51:15] webm4st0r at gmail dot com Updated the attached patch with one that appears to produce the correct results and passes all existing tests. ------------------------------------------------------------------------ [2011-07-30 08:43:59] webm4st0r at gmail dot com Description: ------------ While running a soap client in wsdl mode, if the response of a call contains an element which is an extension, and it contains itself, an infinite loop occurs in resulting in a segmentation fault. The provided patch is against 5.3.6, does not produce the expected results (but does not segfault), and causes other tests to fail, but it identifies where the problem is (to_zval_object_ex). I've confirmed that this also occurs in previous versions. Test script: --------------- Test script: http://soapbug.privatepaste.com/700d21fc7f WSDL: http://soapbug.privatepaste.com/4d7e882d61 XSD: http://soapbug.privatepaste.com/43f7a3e274 Expected result: ---------------- object(stdClass)#%d (2) { ["accountId"]=> int(1234) ["parent"]=> *RECURSION* } } Actual result: -------------- Segmentation fault ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=55323&edit=1