diff --git a/Zend/tests/bug66286.phpt b/Zend/tests/bug66286.phpt new file mode 100644 index 00000000000..457e282402b --- /dev/null +++ b/Zend/tests/bug66286.phpt @@ -0,0 +1,26 @@ +--TEST-- +Bug #66286: Incorrect object comparison with inheritance +--FILE-- +someValue = $someValue; + } +} + +$objFirst = new second('123'); +$objSecond = new second('321'); + +var_dump ($objFirst == $objSecond); + +?> +--EXPECT-- +bool(false) diff --git a/Zend/zend_object_handlers.c b/Zend/zend_object_handlers.c index 262508b37da..991dca2eecf 100644 --- a/Zend/zend_object_handlers.c +++ b/Zend/zend_object_handlers.c @@ -1373,10 +1373,6 @@ static int zend_std_compare_objects(zval *o1, zval *o2 TSRMLS_DC) /* {{{ */ Z_OBJ_UNPROTECT_RECURSION(o1); Z_OBJ_UNPROTECT_RECURSION(o2); return 1; - } else { - Z_OBJ_UNPROTECT_RECURSION(o1); - Z_OBJ_UNPROTECT_RECURSION(o2); - return 0; } } }