]> granicus.if.org Git - php/commitdiff
Fix dom class can't be inherited by the internal class
authordreamszhu <dreamsxin@qq.com>
Sun, 1 Jan 2017 01:45:09 +0000 (09:45 +0800)
committerJoe Watkins <krakjoe@php.net>
Sun, 1 Jan 2017 06:48:02 +0000 (06:48 +0000)
ext/dom/php_dom.c

index 9879d81c1c7001acd190c16805e31f643b021c5d..a59e63a87c4588ed26471e3c12338b55edb1d5b1 100644 (file)
@@ -1075,7 +1075,7 @@ static dom_object* dom_objects_set_class(zend_class_entry *class_type, zend_bool
        dom_object *intern = ecalloc(1, sizeof(dom_object) + zend_object_properties_size(class_type));
 
        zend_class_entry *base_class = class_type;
-       while (base_class->type != ZEND_INTERNAL_CLASS && base_class->parent != NULL) {
+       while ((base_class->type != ZEND_INTERNAL_CLASS || base_class->info.internal.module != &dom_module_entry) && base_class->parent != NULL) {
                base_class = base_class->parent;
        }