com php-src: Fixed memory leaks: Zend/zend_API.c ext/soap /php_encoding.c ext/soap/soap.c
| From: | Dmitry Stogov | Date: | Thu, 15 May 2014 12:18:19 +0000 |
| Subject: | com php-src: Fixed memory leaks: Zend/zend_API.c ext/soap /php_encoding.c ext/soap/soap.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-78378@lists.php.net to get a copy of this message | ||
Commit: 3e131b41b2fc3a19e30c66415316d9035bd79b8d
Author: Dmitry Stogov <dmitry@zend.com> Thu, 15 May 2014 16:18:19 +0400
Parents: f2324a3e0ea03667575e59d51c177b383d33d402
Branches: phpng
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=3e131b41b2fc3a19e30c66415316d9035bd79b8d
Log:
Fixed memory leaks
Changed paths:
M Zend/zend_API.c
M ext/soap/php_encoding.c
M ext/soap/soap..c
Diff:
diff --git a/Zend/zend_API.c b/Zend/zend_API.c
index d4df4d3..22ba10b 100644
--- a/Zend/zend_API.c
+++ b/Zend/zend_API.c
@@ -1765,7 +1765,7 @@ ZEND_API int add_property_str_ex(zval *arg, const char *key, uint key_len,
zend_
ZVAL_STR(&tmp, str);
ZVAL_STRINGL(&z_key, key, key_len);
Z_OBJ_HANDLER_P(arg, write_property)(arg, &z_key, &tmp, -1 TSRMLS_CC);
-//??? zval_ptr_dtor(&tmp); /* write_property will add 1 to refcount */
+ zval_ptr_dtor(&tmp); /* write_property will add 1 to refcount */
zval_ptr_dtor(&z_key);
return SUCCESS;
}
diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c
index 9afaa51..5b4ed23 100644
--- a/ext/soap/php_encoding.c
+++ b/ext/soap/php_encoding.c
@@ -3063,9 +3063,9 @@ static xmlNodePtr to_xml_list(encodeTypePtr enc, zval *data, int style,
xmlNodeP
*next = '\0';
next++;
}
-//??? ZVAL_STRING(&dummy_zval, start, 0);
ZVAL_STRING(&dummy_zval, start);
dummy = master_to_xml(list_enc, &dummy_zval, SOAP_LITERAL, ret TSRMLS_CC);
+ zval_ptr_dtor(&dummy_zval);
if (dummy && dummy->children && dummy->children->content) {
if (list.s && list.s->len != 0) {
smart_str_appendc(&list, ' ');
diff --git a/ext/soap/soap.c b/ext/soap/soap.c
index 937d50b..861a278 100644
--- a/ext/soap/soap.c
+++ b/ext/soap/soap.c
@@ -4382,16 +4382,15 @@ static xmlNodePtr serialize_zval(zval *val, sdlParamPtr param, char
*paramName,
encodePtr enc;
zval defval;
+ ZVAL_UNDEF(&defval);
if (param != NULL) {
enc = param->encode;
if (val == NULL) {
if (param->element) {
if (param->element->fixed) {
- //??? val has to be freed
ZVAL_STRING(&defval, param->element->fixed);
val = &defval;
} else if (param->element->def && !param->element->nillable) {
- //??? val has to be freed
ZVAL_STRING(&defval, param->element->def);
val = &defval;
}
@@ -4401,6 +4400,7 @@ static xmlNodePtr serialize_zval(zval *val, sdlParamPtr param, char
*paramName,
enc = NULL;
}
xmlParam = master_to_xml(enc, val, style, parent TSRMLS_CC);
+ zval_ptr_dtor(&defval);
if (!strcmp((char*)xmlParam->name, "BOGUS")) {
xmlNodeSetName(xmlParam, BAD_CAST(paramName));
}