| Zeev Suraski 2005-10-31, 6:57 pm |
| Some patches look safer than they really are :I
Dmitry - did you look into the bugs? Are they solvable or do we have a
conceptual problem with this patch?
Zeev
At 21:28 31/10/2005, Dmitry Stogov wrote:
>Hi Sebastian,
>
>The following tests are failed after this patch.
>First two are probably the same bug and it is CRITICAL.
>The rest is not critical and tests themselves can be fixed.
>
>ZE2 Do not call destructors if constructor fails
>[tests/classes/ctor_failure.phpt]
>Bug #29368 (The destructor is called when an exception is thrown from the
>constructor) [Zend/tests/bug29368.phpt]
>
>Bug #30162 (Catching exception in constructor couses lose of $this)
>[Zend/tests/bug30162.phpt]
>Test 3: Exception Test [ext/dom/tests/dom003.phpt]
>Test: setAttributeNode() [ext/dom/tests/dom_set_attr_node.phpt]
>
>Thanks. Dmitry
>
>.c?r1=1.294&r2=1.295&ty=u
>Index: ZendEngine2/zend_builtin_functions.c
>diff -u ZendEngine2/zend_builtin_functions.c:1.294
>ZendEngine2/zend_builtin_functions.c:1.295
>--- ZendEngine2/zend_builtin_functions.c:1.294 Fri Sep 9 02:47:14 2005
>+++ ZendEngine2/zend_builtin_functions.c Fri Oct 28 16:08:25 2005
>@@ -17,7 +17,7 @@
> +----------------------------------------------------------------------+
> */
>
>-/* $Id: zend_builtin_functions.c,v 1.294 2005/09/09 06:47:14 dmitry Exp $
>*/
>+/* $Id: zend_builtin_functions.c,v 1.295 2005/10/28 20:08:25 sebastian
>+Exp $ */
>
> #include "zend.h"
> #include "zend_API.h"
>@@ -2005,6 +2005,9 @@
> dup =
>zend_get_object_classname(ptr->object, &class_name, &class_name_len
>TSRMLS_CC);
> add_assoc_text_ex(stack_frame,
>"class", sizeof("class"), class_name, dup);
> }
>+ add_assoc_zval_ex(stack_frame, "object",
>sizeof("object"), ptr->object);
>+ ptr->object->refcount++;
>+
> add_assoc_ascii_string_ex(stack_frame,
>"type", sizeof("type"), "->", 1);
> } else if
>(ptr->function_state.function->common.scope) {
> add_assoc_textl_ex(stack_frame, "class",
>sizeof("class"), ptr->function_state.function->common.scope->name,
>ptr->function_state.function->common.scope->name_length, 1);
>
>--
>Zend Engine CVS Mailing List (http://cvs.php.net/)
>To unsubscribe, visit: http://www.php.net/unsub.php
|