diff --git a/ext/soap/soap.c b/ext/soap/soap.c index cc20eff4c7c..27e1403ef9c 100644 --- a/ext/soap/soap.c +++ b/ext/soap/soap.c @@ -4022,7 +4022,7 @@ static xmlNodePtr serialize_zval(zval *val, sdlParamPtr param, char *paramName, if (param != NULL) { enc = param->encode; - if (val == NULL || Z_TYPE_P(val) == IS_NULL) { + if (val == NULL) { if (param->element) { if (param->element->fixed) { ZVAL_STRING(&defval, param->element->fixed, 0); diff --git a/ext/soap/tests/bugs/bug34643.phpt b/ext/soap/tests/bugs/bug34643.phpt index b8c92e281b7..d05f9bd7f5f 100755 --- a/ext/soap/tests/bugs/bug34643.phpt +++ b/ext/soap/tests/bugs/bug34643.phpt @@ -36,6 +36,7 @@ $cl = new LocalSoapClient(dirname(__FILE__).'/bug34643.wsdl', array("trace"=>1)) print_r($cl->__getFunctions()); echo $cl->get_it("aaa")."\n"; echo $cl->get_it()."\n"; +var_dump($cl->get_it(null)); ?> --EXPECT-- Array @@ -44,3 +45,4 @@ Array ) aaa zzz +NULL