diff options
author | Dmitry Stogov <dmitry@zend.com> | 2014-05-16 19:43:49 +0400 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2014-05-16 19:43:49 +0400 |
commit | e743089d5527a16761c08c84bb45e5a06b228bf4 (patch) | |
tree | 8f7c13d874e9a2eb150a6fddaae9550ce04497c4 /ext/soap/php_encoding.c | |
parent | e159955d15ba7d43ceb2c32d1b7705ef6cf2d25e (diff) | |
download | php-git-e743089d5527a16761c08c84bb45e5a06b228bf4.tar.gz |
Initialize zvals
Diffstat (limited to 'ext/soap/php_encoding.c')
-rw-r--r-- | ext/soap/php_encoding.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c index aea31c9abe..4d339173bc 100644 --- a/ext/soap/php_encoding.c +++ b/ext/soap/php_encoding.c @@ -1250,6 +1250,7 @@ static void model_to_zval_any(zval *ret, xmlNodePtr node TSRMLS_DC) while (node != NULL) { if (get_zval_property(ret, (char*)node->name, &rv TSRMLS_CC) == NULL) { + ZVAL_NULL(&val); master_to_zval(&val, get_conversion(XSD_ANYXML), node TSRMLS_CC); if (any && Z_TYPE_P(any) != IS_ARRAY) { @@ -1268,6 +1269,7 @@ static void model_to_zval_any(zval *ret, xmlNodePtr node TSRMLS_DC) while (node->next != NULL) { zval val2; + ZVAL_NULL(&val2); master_to_zval(&val2, get_conversion(XSD_ANYXML), node->next TSRMLS_CC); if (Z_TYPE(val2) != IS_STRING || *Z_STRVAL(val) != '<') { break; @@ -1329,6 +1331,7 @@ static void model_to_zval_object(zval *ret, sdlContentModelPtr model, xmlNodePtr zval val; xmlNodePtr r_node; + ZVAL_NULL(&val); r_node = check_and_resolve_href(node); if (r_node && r_node->children && r_node->children->content) { if (model->u.element->fixed && strcmp(model->u.element->fixed, (char*)r_node->children->content) != 0) { @@ -1560,6 +1563,7 @@ static zval *to_zval_object_ex(zval *ret, encodeTypePtr type, xmlNodePtr data, z dummy = xmlNewNode(NULL, BAD_CAST("BOGUS")); text = xmlNewText(BAD_CAST(str_val)); xmlAddChild(dummy, text); + ZVAL_NULL(&data); master_to_zval(&data, attr->encode, dummy TSRMLS_CC); xmlFreeNode(dummy); set_zval_property(ret, attr->name, &data TSRMLS_CC); @@ -1583,6 +1587,7 @@ static zval *to_zval_object_ex(zval *ret, encodeTypePtr type, xmlNodePtr data, z zval tmpVal, rv; zval *prop; + ZVAL_NULL(&tmpVal); master_to_zval(&tmpVal, NULL, trav TSRMLS_CC); prop = get_zval_property(ret, (char*)trav->name, &rv TSRMLS_CC); @@ -2635,6 +2640,7 @@ static zval *to_zval_array(zval *ret, encodeTypePtr type, xmlNodePtr data TSRMLS zval tmpVal, *ar; xmlAttrPtr position = get_attribute(trav->properties,"position"); + ZVAL_NULL(&tmpVal); master_to_zval(&tmpVal, enc, trav TSRMLS_CC); if (position != NULL && position->children && position->children->content) { char* tmp = strrchr((char*)position->children->content, '['); @@ -2763,7 +2769,9 @@ static zval *to_zval_map(zval *ret, encodeTypePtr type, xmlNodePtr data TSRMLS_D soap_error0(E_ERROR, "Encoding: Can't decode apache map, missing value"); } + ZVAL_NULL(&key); master_to_zval(&key, NULL, xmlKey TSRMLS_CC); + ZVAL_NULL(&value); master_to_zval(&value, NULL, xmlValue TSRMLS_CC); if (Z_TYPE(key) == IS_STRING) { |