summaryrefslogtreecommitdiff
path: root/ext/xml/xml.c
diff options
context:
space:
mode:
authorXinchen Hui <laruence@php.net>2014-05-05 19:45:50 +0800
committerXinchen Hui <laruence@php.net>2014-05-05 19:45:50 +0800
commitfa6f6c880741ae9696a9c21707fd3a844dd8d5ee (patch)
tree40b54c2f6d3d85c3aed1b1d76f7c92fca0a196d6 /ext/xml/xml.c
parentc73c6526ef4d61881f53f5914398f58a35d1c62f (diff)
downloadphp-git-fa6f6c880741ae9696a9c21707fd3a844dd8d5ee.tar.gz
Fixed Reference handling in xml_parse_into_struct
Diffstat (limited to 'ext/xml/xml.c')
-rw-r--r--ext/xml/xml.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/ext/xml/xml.c b/ext/xml/xml.c
index 146ff004f7..169be95981 100644
--- a/ext/xml/xml.c
+++ b/ext/xml/xml.c
@@ -679,7 +679,7 @@ static void _xml_add_to_info(xml_parser *parser,char *name)
return;
}
- if ((element = zend_hash_str_find(Z_ARRVAL(parser->info),name, strlen(name))) == NULL) {
+ if ((element = zend_hash_str_find(Z_ARRVAL(parser->info), name, strlen(name))) == NULL) {
zval values;
array_init(&values);
element = zend_hash_str_update(Z_ARRVAL(parser->info), name, strlen(name), &values);
@@ -1407,8 +1407,9 @@ PHP_FUNCTION(xml_parse_into_struct)
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rsz|z", &pind, &data, &data_len, &xdata, &info) == FAILURE) {
return;
}
-
+
if (info) {
+ ZVAL_DEREF(info);
zval_ptr_dtor(info);
array_init(info);
}