History log of /PHP-8.2/Zend/zend_execute_API.c (Results 101 – 125 of 1005)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# f0960879 06-May-2020 Alex Dowad

zend_timeout is not a signal handler function

The 'int dummy' parameter to this function makes it appear that it was intended as a
signal handler, but it is not being used as such. So re

zend_timeout is not a signal handler function

The 'int dummy' parameter to this function makes it appear that it was intended as a
signal handler, but it is not being used as such. So remove the redundant parameter.

show more ...


# 5d93eab6 11-May-2020 Nikita Popov

Don't reset SIGG(running) when calling zend_on_timeout

This is only an internal callback nowadays and does not actually
run any user code. It must be async signal safe.


# 718e55c3 06-May-2020 Nikita Popov

Add zend_array_release() function

To complement zend_string_release() and zend_object_release().


# 48a34bc1 24-Apr-2020 Nikita Popov

Add helper APIs for get_gc implementations

get_gc() implementations that need to explore heterogeneous data
currently work by computing how many GC entries they need,
allocating a bu

Add helper APIs for get_gc implementations

get_gc() implementations that need to explore heterogeneous data
currently work by computing how many GC entries they need,
allocating a buffer for that and storing it on the object. This
is inefficient and wastes memory, because the buffer is retained
after the GC run.

This commit adds an API for a single global GC buffer, which can
be reused by get_gc implementations (as only one get_gc call is
ever active at the same time). The GC buffer will automatically
grow during the GC run and be discarded at the end.

show more ...


# 446724bc 12-Apr-2020 George Peter Banyard

Fix [-Werror=missing-braces] compiler warning

Partial fix to bug 79431


# 960318ed 25-Feb-2020 Máté Kocsis

Change argument error message format

Closes GH-5211


# ac0853eb 29-Jan-2020 Máté Kocsis

Make type error messages more consistent

Closes GH-5092


# 98deece6 30-Jan-2020 Nikita Popov

Reset trampoline on executor startup

Make sure the trampoline is usable, even if we had an unclean
shutdown on the last request.


# 0a2f6c55 10-Jan-2020 Nikita Popov

Move undefined constant error into get_constant_ex

All the other error conditions are already handled in there, so
this one should be as well.


# 621598ea 13-Dec-2019 Nikita Popov

Fixed bug #78921

By resetting fake_scope during autoloading. We already do the same
when executing destructors.


Revision tags: php-7.3.13RC1, php-7.2.26RC1, php-7.4.0, php-7.2.25, php-7.3.12, php-7.4.0RC6, php-7.3.12RC1, php-7.2.25RC1, php-7.4.0RC5, php-7.1.33, php-7.2.24, php-7.3.11
# ed31e041 21-Oct-2019 Nikita Popov

Fix leak with cycle in static prop of internal class

More the cleanup of interned classes before the final GC run,
just like it is done for user classes.


Revision tags: php-7.4.0RC4, php-7.3.11RC1, php-7.2.24RC1
# f2e88512 01-Oct-2019 Nikita Popov

Remove func copy optimization for private method with static vars

Not NULLing the static_variables pointer for shadow methods during
static var shutdown would be a way to avoid this leak

Remove func copy optimization for private method with static vars

Not NULLing the static_variables pointer for shadow methods during
static var shutdown would be a way to avoid this leak, but unless
there's evidence that inherited private methods with static vars are
actually a common use-case, I don't think we should keep this kind
of fragile edge-case optimization.

Fixes OSS-Fuzz #17875.

show more ...


Revision tags: php-7.4.0RC3, php-7.2.23, php-7.3.10, php-7.4.0RC2
# 4b9ebd83 11-Sep-2019 Nikita Popov

Allow throwing exception while loading parent class

This is a fix for symfony/symfony#32995.

The behavior is:

* Throwing exception when loading parent/interface is allowed

Allow throwing exception while loading parent class

This is a fix for symfony/symfony#32995.

The behavior is:

* Throwing exception when loading parent/interface is allowed
(and we will also throw one if the class is simply not found).
* If this happens, the bucket key for the class is reset, so
it's possibly to try registering the same class again.
* However, if the class has already been used due to a variance
obligation, the exception is upgraded to a fatal error, as we
cannot safely unregister the class stub anymore.

show more ...


# 270e5e3c 11-Sep-2019 Nikita Popov

Only allow "nearly linked" classes for parent/interface

The requirements for parent/interface are difference than for the
variance checks in type declarations. The latter can work on ful

Only allow "nearly linked" classes for parent/interface

The requirements for parent/interface are difference than for the
variance checks in type declarations. The latter can work on fully
unlinked classes, but the former need inheritance to be essentially
finished, only variance checks may still be outstanding.

Adding a new flag for this because we have lots of space, but we
could also represent these "inheritance states" more compactly in
the future.

show more ...


Revision tags: php-7.2.23RC1, php-7.3.10RC1, php-7.4.0RC1
# f912445e 28-Aug-2019 Nikita Popov

Add missed mutability check


# 2709d6a2 28-Aug-2019 Nikita Popov

Destroy error handlers before final GC run


# ec9a96dc 28-Aug-2019 Nikita Popov

Fixed bug #78335

Destroy static properties and variables prior to the final GC run,
as they may hold GC roots.


Revision tags: php-7.1.32, php-7.2.22, php-7.3.9, php-7.4.0beta4, php-7.2.22RC1, php-7.3.9RC1
# a18ad194 12-Aug-2019 Nikita Popov

Fixed bug #78396


Revision tags: php-7.4.0beta2, php-7.1.31, php-7.2.21, php-7.3.8, php-7.4.0beta1, php-7.2.21RC1, php-7.3.8RC1
# 22ed3628 09-Jul-2019 Nikita Popov

Revert "Fixed bug #76980"

This reverts commit 35353dc49a73a58c17c7896c4c4c3997ef2c007d.

This changes causes issues for Symfony, see
https://github.com/symfony/symfony/issues/323

Revert "Fixed bug #76980"

This reverts commit 35353dc49a73a58c17c7896c4c4c3997ef2c007d.

This changes causes issues for Symfony, see
https://github.com/symfony/symfony/issues/32395. I'm reverting it
from PHP 7.2 and PHP 7.3 and only leaving it in PHP 7.4.

show more ...


Revision tags: php-7.4.0alpha3
# 2bf880db 03-Jul-2019 Nikita Popov

Fixed bug #78239


Revision tags: php-7.3.7, php-7.2.20
# 01e1e199 01-Jul-2019 Nikita Popov

Clarify #if indentation in time limit implemementation


# ba8033fe 28-Jun-2019 Dmitry Stogov

Fixed use-after-free


Revision tags: php-7.4.0alpha2, php-7.3.7RC3
# eaafb69e 20-Jun-2019 Nikita Popov

Change indexing scheme for symtable_cache

symtable_cache_ptr now points to the first unused symtable_cache
entry, rahter than the last used one. This avoids taking a pointer
to the m

Change indexing scheme for symtable_cache

symtable_cache_ptr now points to the first unused symtable_cache
entry, rahter than the last used one. This avoids taking a pointer
to the minus first element of the array, which is UB. Instead we
take a pointer to the end plus one, which is not UB.

show more ...


Revision tags: php-7.3.7RC2, php-7.2.20RC2, php-7.4.0alpha1, php-7.3.7RC1, php-7.2.20RC1, php-7.2.19, php-7.3.6, php-7.1.30
# 61f78de4 26-May-2019 twosee

Constify some char* arguments or return values of ZEND_API

Closes GH-4247.


# 8f8fcbbd 27-May-2019 Nikita Popov

Support full variance if autoloading is used

Keep track of delayed variance obligations and check them after
linking a class is otherwise finished. Obligations may either be
unresolv

Support full variance if autoloading is used

Keep track of delayed variance obligations and check them after
linking a class is otherwise finished. Obligations may either be
unresolved method compatibility (because the necessecary classes
aren't available yet) or open parent/interface dependencies. The
latter occur because we allow the use of not fully linked classes
as parents/interfaces now.

An important aspect of the implementation is we do not require
classes involved in variance checks to be fully linked in order for
the class to be fully linked. Because the involved types do have to
exist in the class table (as partially linked classes) and we do
check these for correct variance, we have the guarantee that either
those classes will successfully link lateron or generate an error,
but there is no way to actually use them until that point and as
such no possibility of violating the variance contract. This is
important because it ensures that a class declaration always either
errors or will produce an immediately usable class afterwards --
there are no cases where the finalization of the class declaration
has to be delayed until a later time, as earlier variants of this
patch did.

Because variance checks deal with classes in various stages of
linking, we need to use a special instanceof implementation that
supports this, and also introduce finer-grained flags that tell us
which parts have been linked already and which haven't.

Class autoloading for variance checks is delayed into a separate
stage after the class is otherwise linked and before delayed
variance obligations are processed. This separation is needed to
handle cases like A extends B extends C, where B is the autoload
root, but C is required to check variance. This could end up
loading C while the class structure of B is in an inconsistent
state.

show more ...


12345678910>>...41