From 76ee5707f76aeaefbe128b1cd0ea1d5521c860c7 Mon Sep 17 00:00:00 2001 From: Rob Richards Date: Mon, 1 Mar 2004 12:09:24 +0000 Subject: Fix bug #27436 dom_import_simplexml innaccurate extensions register callbacks to export nodes prevents segfault passing invalid objects to import functions --- ext/libxml/php_libxml.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'ext/libxml/php_libxml.h') diff --git a/ext/libxml/php_libxml.h b/ext/libxml/php_libxml.h index d1c6b86903..ab47e202fb 100644 --- a/ext/libxml/php_libxml.h +++ b/ext/libxml/php_libxml.h @@ -64,11 +64,15 @@ typedef struct _php_libxml_node_object { HashTable *properties; } php_libxml_node_object; +typedef void * (*php_libxml_export_node) (zval *object TSRMLS_DC); + PHP_FUNCTION(libxml_set_streams_context); int php_libxml_increment_node_ptr(php_libxml_node_object *object, xmlNodePtr node, void *private_data TSRMLS_DC); int php_libxml_decrement_node_ptr(php_libxml_node_object *object TSRMLS_DC); int php_libxml_increment_doc_ref(php_libxml_node_object *object, xmlDocPtr docp TSRMLS_DC); int php_libxml_decrement_doc_ref(php_libxml_node_object *object TSRMLS_DC); +PHP_LIBXML_API xmlNodePtr php_libxml_import_node(zval *object TSRMLS_DC); +PHP_LIBXML_API int php_libxml_register_export(zend_class_entry *ce, php_libxml_export_node export_function); /* When an explicit freeing of node and children is required */ void php_libxml_node_free_resource(xmlNodePtr node TSRMLS_DC); /* When object dtor is called as node may still be referenced */ -- cgit v1.2.1