Fixed memory leaks

This commit is contained in:
Dmitry Stogov 2014-05-15 16:18:19 +04:00
parent f2324a3e0e
commit 3e131b41b2
3 changed files with 4 additions and 4 deletions

View file

@ -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;
}

View file

@ -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, ' ');

View file

@ -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));
}