PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? 2004, PHP 5.1.0
+- Fixed bug #29061 (soap extension segfaults). (Dmitry)
- Added zlib stream filter suport. (Sara)
- Changed the implementation of TRUE, FALSE, and NULL from constants to
keywords. (Marcus)
ZVAL_STRINGL(params[0], buf, buf_size, 0);
INIT_ZVAL(param1);
params[1] = ¶m1;
- ZVAL_STRING(params[1], location, 0);
+ if (location == NULL) {
+ ZVAL_NULL(params[1]);
+ } else {
+ ZVAL_STRING(params[1], location, 0);
+ }
INIT_ZVAL(param2);
params[2] = ¶m2;
- ZVAL_STRING(params[2], action, 0);
+ if (action == NULL) {
+ ZVAL_NULL(params[2]);
+ } else {
+ ZVAL_STRING(params[2], action, 0);
+ }
INIT_ZVAL(param3);
params[3] = ¶m3;
ZVAL_LONG(params[3], version);
--- /dev/null
+--TEST--
+Bug #29061 (soap extension segfaults)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$client = new SoapClient(dirname(__FILE__)."/bug29061.wsdl", array("exceptions"=>0));
+$client->getQuote("ibm");
+echo "ok\n";
+?>
+--EXPECT--
+ok
\ No newline at end of file
--- /dev/null
+<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"\r
+xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://\r
+schemas.xmlsoap.org/wsdl/http/"\r
+xmlns:xs="http://www.w3.org/2001/XMLSchema"\r
+xmlns:soapenc="http://schemas.xmlsoap.org/soap/e\r
+ncoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"\r
+xmlns:y="http://new.webservice.namespace" targetNamespace="http\r
+://new.webservice.namespace">\r
+<types>\r
+<xs:schema/>\r
+</types>\r
+<message name="getQuoteResponse">\r
+<part name="parameter" element="" type="xs:string"/>\r
+</message>\r
+<message name="getQuoteRequest">\r
+<part name="String" element="" type="xs:string"/>\r
+</message>\r
+<portType name="SOAPport">\r
+<operation name="getQuote">\r
+<input message="y:getQuoteRequest"/>\r
+<output message="y:getQuoteResponse"/>\r
+</operation>\r
+</portType>\r
+<binding name="bindingName" type="y:SOAPport">\r
+<soap:binding style="rpc"\r
+transport="http://schemas.xmlsoap.org/soap/http"/>\r
+<operation name="getQuote">\r
+<input>\r
+<soap:body use="literal"/>\r
+</input>\r
+<output>\r
+<soap:body use="literal"/>\r
+</output>\r
+</operation>\r
+</binding>\r
+<service name="myService">\r
+<port name="myPort" binding="y:bindingName">\r
+<soap:address location="test://"/>\r
+</port>\r
+</service>\r
+</definitions>\r