summaryrefslogtreecommitdiff
path: root/ext/xmlreader/php_xmlreader.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/xmlreader/php_xmlreader.c')
-rw-r--r--ext/xmlreader/php_xmlreader.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/ext/xmlreader/php_xmlreader.c b/ext/xmlreader/php_xmlreader.c
index ccf3db2690..8330a9bed5 100644
--- a/ext/xmlreader/php_xmlreader.c
+++ b/ext/xmlreader/php_xmlreader.c
@@ -352,8 +352,8 @@ zend_object_value xmlreader_objects_new(zend_class_entry *class_type TSRMLS_DC)
zval *tmp;
intern = emalloc(sizeof(xmlreader_object));
+ memset(&intern->std, 0, sizeof(zend_object));
intern->std.ce = class_type;
- intern->std.guards = NULL;
intern->ptr = NULL;
intern->schema = NULL;
intern->prop_handler = &xmlreader_prop_handlers;
@@ -842,7 +842,6 @@ PHP_METHOD(xmlreader, open)
valid_file = _xmlreader_get_valid_file_path(source, resolved_path, MAXPATHLEN TSRMLS_CC);
if (valid_file) {
- xmlNewTextReaderFilename(valid_file);
reader = xmlReaderForFile(valid_file, encoding, options);
}
@@ -1034,7 +1033,12 @@ PHP_METHOD(xmlreader, expand)
RETURN_FALSE;
} else {
nodec = xmlCopyNode(node, 1);
- DOM_RET_OBJ(rv, nodec, &ret, NULL);
+ if (nodec == NULL) {
+ php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Cannot expand this node type");
+ RETURN_FALSE;
+ } else {
+ DOM_RET_OBJ(rv, nodec, &ret, NULL);
+ }
}
} else {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Load Data before trying to expand");