summaryrefslogtreecommitdiff
path: root/ext/dom/xpath.c
diff options
context:
space:
mode:
authorFelipe Pena <felipensp@gmail.com>2012-07-14 13:16:35 -0300
committerFelipe Pena <felipensp@gmail.com>2012-07-14 13:16:35 -0300
commitd640e446abfacb65d2d516f38f93c2d8001aefbb (patch)
treefbe7f1bfce77f742fe9432caac79342ca6ddb841 /ext/dom/xpath.c
parent9c2839306776bfb3cb68fb6c56f1ef926daa070e (diff)
parent864575251ac85176b763a56b35c2da298e0d0fa7 (diff)
downloadphp-git-d640e446abfacb65d2d516f38f93c2d8001aefbb.tar.gz
- Fixed conflict
Diffstat (limited to 'ext/dom/xpath.c')
-rw-r--r--ext/dom/xpath.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/ext/dom/xpath.c b/ext/dom/xpath.c
index 70e7aff690..342854654e 100644
--- a/ext/dom/xpath.c
+++ b/ext/dom/xpath.c
@@ -321,6 +321,7 @@ int dom_xpath_document_read(dom_object *obj, zval **retval TSRMLS_DC)
xmlDoc *docp = NULL;
xmlXPathContextPtr ctx;
int ret;
+ zval *tmp;
ctx = (xmlXPathContextPtr) obj->ptr;
@@ -329,10 +330,16 @@ int dom_xpath_document_read(dom_object *obj, zval **retval TSRMLS_DC)
}
ALLOC_ZVAL(*retval);
+ tmp = *retval;
+
if (NULL == (*retval = php_dom_create_object((xmlNodePtr) docp, &ret, *retval, obj TSRMLS_CC))) {
+ FREE_ZVAL(tmp);
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Cannot create required DOM object");
return FAILURE;
}
+ if (tmp != *retval) {
+ FREE_ZVAL(tmp);
+ }
return SUCCESS;
}
/* }}} */