php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #47049 SoapClient::__soapCall causes a segmentation fault.
Submitted: 2009-01-09 11:47 UTC Modified: 2009-02-18 13:26 UTC
From: uli dot staerk at globalways dot net Assigned: dmitry
Status: Closed Package: SOAP related
PHP Version: 5.2.8 OS: Linux 2.6.16
Private report: No CVE-ID:
 [2009-01-09 11:47 UTC] uli dot staerk at globalways dot net
Description:
------------
I cant not give you any further information as the example shows.

Reproduce code:
---------------
<?php
ini_set('soap.wsdl_cache_enabled',false);

function debug($str) {echo '<pre>'; print_r($str); echo '</pre>'; }

try {
        $client = new SoapClient('reporter.wsdl',
                array('trace' => 1 , 'exceptions' => true)
        );
//      debug(debug($client->__getFunctions())); // works

        $host = array('uuid' => 'foo');
        $software_list = array(array('name' => 'package', 'version' => '1.2.3', 'state' => 'installed'));
        $updates = array();

        $report_id = $client->__soapCall('reportSoftwareStatus',array($host, $software_list, $updates));

}
catch (Exception $e) {
        debug((string)$e);
}

Expected result:
----------------
segmentation fault

Actual result:
--------------
error message ;)

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2009-01-09 12:45 UTC] uli dot staerk at globalways dot net
WSDL: http://uli-staerk.de/temp/report.wsdl

You will need to fill in valid service-address.
 [2009-01-09 12:52 UTC] scottmac@php.net
Thank you for this bug report. To properly diagnose the problem, we
need a backtrace to see what is happening behind the scenes. To
find out how to generate a backtrace, please read
http://bugs.php.net/bugs-generating-backtrace.php for *NIX and
http://bugs.php.net/bugs-generating-backtrace-win32.php for Win32

Once you have generated a backtrace, please submit it to this bug
report and change the status back to "Open". Thank you for helping
us make PHP better.


 [2009-01-14 16:29 UTC] uli dot staerk at globalways dot net
I found the reason why PHP crashed. The WSDL had an invalid service-port-address (namespace):
<http:address location="reporter.php"/>

Correct is:
<soap:address location="reporter.php" />

This error is not reproduceable with other WSDL Documents, where the following exception is thrown:
SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Unexpected WSDL element
 [2009-02-18 13:26 UTC] dmitry@php.net
This bug has been fixed in CVS.

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/.
 
Thank you for the report, and for helping us make PHP better.


 
PHP Copyright © 2001-2014 The PHP Group
All rights reserved.
Last updated: Mon Apr 21 10:02:10 2014 UTC