summaryrefslogtreecommitdiff
path: root/ext/soap/php_encoding.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2004-08-26 15:26:32 +0000
committerDmitry Stogov <dmitry@php.net>2004-08-26 15:26:32 +0000
commit0835c34572d3ae71227b55d00fa86f911dddf739 (patch)
treea68a4bf58179d0e78c0a323454c4a6f6106194e8 /ext/soap/php_encoding.c
parent6078001f12ae5ab5293bb9d8162f53c6295fb2cb (diff)
downloadphp-git-0835c34572d3ae71227b55d00fa86f911dddf739.tar.gz
Fixed bug #29795 (SegFault with Soap and Amazon's Web Services)
Fixed bug #27994 (segfault with Soapserver when WSDL-Cache is enabled)
Diffstat (limited to 'ext/soap/php_encoding.c')
-rw-r--r--ext/soap/php_encoding.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c
index 08e80c223f..05e2d5143c 100644
--- a/ext/soap/php_encoding.c
+++ b/ext/soap/php_encoding.c
@@ -2437,6 +2437,9 @@ zval *sdl_guess_convert_zval(encodeTypePtr enc, xmlNodePtr data)
sdlTypePtr type;
type = enc->sdl_type;
+ if (type == NULL) {
+ return guess_zval_convert(enc, data);
+ }
/*FIXME: restriction support
if (type && type->restrictions &&
data && data->children && data->children->content) {
@@ -2500,6 +2503,13 @@ xmlNodePtr sdl_guess_convert_xml(encodeTypePtr enc, zval *data, int style, xmlNo
type = enc->sdl_type;
+ if (type == NULL) {
+ ret = guess_xml_convert(enc, data, style, parent);
+ if (style == SOAP_ENCODED) {
+ set_ns_and_type(ret, enc);
+ }
+ return ret;
+ }
/*FIXME: restriction support
if (type) {
if (type->restrictions && Z_TYPE_P(data) == IS_STRING) {