File tree Expand file tree Collapse file tree 2 files changed +21
-1
lines changed Expand file tree Collapse file tree 2 files changed +21
-1
lines changed Original file line number Diff line number Diff line change @@ -584,7 +584,7 @@ static zend_object *dom_objects_store_clone_obj(zend_object *zobject) /* {{{ */
584
584
585
585
if (instanceof_function (intern -> std .ce , dom_node_class_entry ) || instanceof_function (intern -> std .ce , dom_modern_node_class_entry )) {
586
586
xmlNodePtr node = (xmlNodePtr )dom_object_get_node (intern );
587
- if (node != NULL ) {
587
+ if (node != NULL && node -> doc ) {
588
588
php_dom_libxml_ns_mapper * ns_mapper = NULL ;
589
589
if (php_dom_follow_spec_intern (intern )) {
590
590
if (node -> type == XML_DOCUMENT_NODE || node -> type == XML_HTML_DOCUMENT_NODE ) {
Original file line number Diff line number Diff line change
1
+ --TEST--
2
+ GH-14652 segfault on object cloning
3
+ --EXTENSIONS--
4
+ dom
5
+ --CREDITS--
6
+ YuanchengJiang
7
+ --FILE--
8
+ <?php
9
+ function varToString ($ var ) {
10
+ }
11
+ $ attr = new DOMAttr ('category ' , 'books ' );
12
+ $ script1_dataflow = $ attr ;
13
+ class test {
14
+ private function __clone () {
15
+ }
16
+ }
17
+ $ clone = clone $ script1_dataflow ;
18
+ echo "OK " ;
19
+ --EXPECT --
20
+ OK
You can’t perform that action at this time.
0 commit comments