| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| | |
* PHP-5.4:
Fixed bug #63882 (zend_std_compare_objects crash on recursion)
Conflicts:
NEWS
|
| | |
|
|\ \
| |/
| |
| |
| | |
* PHP-5.4:
spelling
|
| | |
|
|\ \
| |/
| |
| |
| | |
* PHP-5.4:
Traits refactoring
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Generator::throw($exception) throws an exception into the generator. The
exception is thrown at the current point of suspension within the generator.
It basically behaves as if the current yield statement were replaced with
a throw statement and the generator subsequently resumed.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If zend_generator_close is called from within zend_generator_resume (e.g.
due to a return statement) then all the EGs will still be using the values
from the generator. That's why the stack frame has to be the last thing
that is dtored, otherwise some other dtor that is using
EG(current_execute_data) might access the already freed memory segment.
This was the case with the closure dtor.
The fix is to move the dtors for key and value to the start of the handler.
This way the stack frame is the last thing that is freed.
|
| |
| |
| |
| |
| | |
If a ref has to be added it will be already added while walking the call
slots.
|
| |
| |
| |
| |
| |
| |
| | |
When the return value of yield wasn't used it was leaked.
This is fixed by using a TMP_VAR return value instead of VAR. TMP_VARs are
automatically freed when they aren't used.
|
| | |
|
|\ \
| |/ |
|
| |\ |
|
| | | |
|
| |\ \
| | |/
| | |
| | |
| | |
| | |
| | |
| | | |
* PHP-5.3:
Fixed bug #63635 (Segfault in gc_collect_cycles)
Conflicts:
NEWS
|
| | | |
|
| | |
| | |
| | |
| | | |
in finally block.
|
| | | |
|
| | |
| | |
| | |
| | | |
seg fault) (fixed with previous commit).
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
EX(fast_ret) wasn't initialized in this case so the code ended up
dereferencing an invalid pointer after the jump.
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
* PHP-5.4:
Fixed bug #63468 (wrong called method as callback with inheritance)
Conflicts:
NEWS
|
| |\ \
| | |/
| | |
| | |
| | |
| | |
| | |
| | | |
* PHP-5.3:
Fixed bug #63468 (wrong called method as callback with inheritance)
Conflicts:
NEWS
|
| | | |
|
|\ \ \
| |/ / |
|
| | | |
|
|\ \ \
| |/ / |
|
| | | |
|
|\ \ \
| |/ / |
|
| | | |
|
|\ \ \
| |/ / |
|
| |\ \
| | |/ |
|
| | | |
|
|\ \ \
| |/ / |
|
| |\ \
| | |/ |
|
| | | |
|
|\ \ \
| |/ / |
|
| | | |
|
| |\ \
| | |/ |
|
| | | |
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | | |
excpetion)
|
|\ \ \
| |/ /
| | |
| | |
| | | |
Conflicts:
Zend/zend_vm_def.h
|
| | |
| | |
| | |
| | |
| | |
| | | |
The code did not check whether the zend_hash_index_find calls succeded,
so PHP crashed when an array callback was called that contains two elements
which don't have the indices 0 and 1.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
set_error_handler(null) and set_exception_handler(null) now return the
previous error/exception handler instead of just returning bool(true).
This is consistent with the behavior of these functions with non-null
values.
|
| | |
| | |
| | |
| | |
| | |
| | | |
This allows the error handler to be reset using set_error_handler(null).
As the code suggests this behavior was already previously intended, but
the callback check was done too strictly.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts the following two commits:
* 6ba2e662e447f369c6e7686e8b39dde033fd5334
* d8f8e98d8e0493adf1fae622595bd3435bdbf835
Laruence already did some partial changes to set_error_handler and
set_exception_handler. I'm reverting those modifications to apply the full
set of changes. (The modifications changed the code structure in a way that
would lead to more duplication with the new behavior.)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
EG(arg_types_stack) is now also backed up when generators are used. This
allows the use of yield in nested method calls.
This commit adds two new functions to the zend_ptr_stack API:
zend_ptr_stack_push_from_memory
zend_ptr_stack_pop_into_memory
both taking the following arguments:
zend_ptr_stack *stack, int count, void **pointers
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* PHP-5.4:
Fixed bug #63111 (is_callable() lies for abstract static method)
Fix folding
Conflicts:
NEWS
|
| |\ \
| | |/
| | |
| | |
| | |
| | |
| | |
| | | |
* PHP-5.3:
Fixed bug #63111 (is_callable() lies for abstract static method)
Conflicts:
NEWS
|