#
07db6415 |
| 25-Jun-2020 |
Tyson Andre |
[RFC] Make string length for getTraceAsString() configurable Add a `zend.exception_string_param_max_len` ini setting. (same suffix as `log_errors_max_len`) Allow values between
[RFC] Make string length for getTraceAsString() configurable Add a `zend.exception_string_param_max_len` ini setting. (same suffix as `log_errors_max_len`) Allow values between 0 and 1000000 bytes. For example, with zend.exception_string_param_max_len=0, "" would represent the empty string, and "..." would represent something longer than the empty string. Previously, this was hardcoded as exactly 15 bytes. Discussion: https://externals.io/message/110717 Closes GH-5769
show more ...
|
#
6e92487f |
| 22-Jul-2020 |
twosee |
Fix warnings of strict-prototypes Closes GH-5887. |
#
f9ced0d4 |
| 17-Jul-2020 |
Nikita Popov |
Add missing zpp_none call in Exception::__wakeup |
#
6c8b94eb |
| 27-Apr-2020 |
Benjamin Eberlei |
Introduce error notification callbacks that are run independant of zend_error_cb |
#
d30cd7d7 |
| 26-May-2020 |
Máté Kocsis |
Review the usage of apostrophes in error messages Closes GH-5590 |
#
9fa1d133 |
| 09-Apr-2020 |
Ilija Tovilo |
Implement match expression RFC: https://wiki.php.net/rfc/match_expression_v2 Closes GH-5371. |
#
302933da |
| 07-Jul-2020 |
Nikita Popov |
Remove no_separation flag |
#
2b5de6f8 |
| 01-Jul-2020 |
Max Semenik |
Remove proto comments from C files Closes GH-5758 |
#
c5e8c986 |
| 30-Jun-2020 |
Nikita Popov |
Merge branch 'PHP-7.4' * PHP-7.4: Fix leak when setting cyclic previous exception in finally
|
#
0fa70b3c |
| 30-Jun-2020 |
Nikita Popov |
Merge branch 'PHP-7.3' into PHP-7.4 * PHP-7.3: Fix leak when setting cyclic previous exception in finally
|
#
fc6f53d4 |
| 30-Jun-2020 |
Nikita Popov |
Fix leak when setting cyclic previous exception in finally A curious exception handling pattern found in Symfony's HttpClient. |
Revision tags: php-7.4.5RC1, php-7.3.17RC1, php-7.3.18, php-7.4.4, php-7.2.29, php-7.3.16 |
|
#
75a04eac |
| 06-Mar-2020 |
Nikita Popov |
Make exit() unwind properly exit() is now internally implemented by throwing an exception, performing a normal stack unwind and a clean shutdown. This ensures that no persistent reso
Make exit() unwind properly exit() is now internally implemented by throwing an exception, performing a normal stack unwind and a clean shutdown. This ensures that no persistent resource leaks occur. The exception is internal, cannot be caught and does not result in the execution of finally blocks. This may be relaxed in the future. Closes GH-5768.
show more ...
|
#
257dbb04 |
| 08-Jun-2020 |
Nikita Popov |
Add zend_call_known_function() API family This adds the following APIs: void zend_call_known_function( zend_function *fn, zend_object *object, zend_class_entry *called_scope
Add zend_call_known_function() API family This adds the following APIs: void zend_call_known_function( zend_function *fn, zend_object *object, zend_class_entry *called_scope, zval *retval_ptr, int param_count, zval *params); void zend_call_known_instance_method( zend_function *fn, zend_object *object, zval *retval_ptr, int param_count, zval *params); void zend_call_known_instance_method_with_0_params( zend_function *fn, zend_object *object, zval *retval_ptr); void zend_call_known_instance_method_with_1_params( zend_function *fn, zend_object *object, zval *retval_ptr, zval *param); void zend_call_known_instance_method_with_2_params( zend_function *fn, zend_object *object, zval *retval_ptr, zval *param1, zval *param2); These are used to perform a call if you already have the zend_function you want to call. zend_call_known_function() is the base API, the rest are just really thin wrappers around it for the common case of instance method calls. Closes GH-5692.
show more ...
|
#
cb227586 |
| 06-Jun-2020 |
twosee |
Fix BC break of zend_throw_exception This also fixes a SegFault Closes GH-5670 |
#
975acfe7 |
| 29-May-2020 |
Nikita Popov |
Pass zend_string message to zend_error_cb This makes the zend_error_cb API simpler, and avoid formatting the same message in multiple places. It should be noted that the passed
Pass zend_string message to zend_error_cb This makes the zend_error_cb API simpler, and avoid formatting the same message in multiple places. It should be noted that the passed zend_string is always non-persistent, so if you want to store it persistently somewhere, you may still need to duplicate it. The last_error_message is cleared a bit more aggressive, to make sure it doesn't hang around across allocator life-cycles. Closes GH-5639.
show more ...
|
#
70b2aa7f |
| 28-May-2020 |
Nikita Popov |
Ensure Exception::getFile/getLine return type is correct These return an untyped protected property, so we can't rely on the type being correct. Also add return types to the int
Ensure Exception::getFile/getLine return type is correct These return an untyped protected property, so we can't rely on the type being correct. Also add return types to the interface -- normally this would be a no-go, but Throwable is a special interface that can only be implemented internally, so we control all implementations.
show more ...
|
#
5716fa7f |
| 28-May-2020 |
Nikita Popov |
Make Exception::$previous a typed property Exception::$previous is a private property, so we can add a type: private ?Throwable $previous = null; |
#
aaae77f7 |
| 28-May-2020 |
Nikita Popov |
Make Exception::$trace typed array property This is a private property, so we are allowed to add a type. The new declaration of the property is: private array $trace = [];
Make Exception::$trace typed array property This is a private property, so we are allowed to add a type. The new declaration of the property is: private array $trace = []; This ensures that Exception::getTrace() does indeed return an array. Userland code that was modifying the property through refleciton may have to be adjusted to assign an array (instead of null, for example). Closes GH-5636.
show more ...
|
#
01e86d6d |
| 28-May-2020 |
Nikita Popov |
Extract code for declaring Exception/Error properties |
#
55dd3945 |
| 25-May-2020 |
Nikita Popov |
Convert Exception::getMessage() result to string We specify that the return type of Exception::getMessage() is a string. However, we don't currently ensure this, because Exception::$
Convert Exception::getMessage() result to string We specify that the return type of Exception::getMessage() is a string. However, we don't currently ensure this, because Exception::$message is a protected member that can be set to any type. Fix this by performing an explicit type-cast. This also requires a temporary refcount increment in the __toString() object handler, because there is no additional owner of the object, and it may get released prematurely as part of the __toString() call.
show more ...
|
#
f825c0bb |
| 23-May-2020 |
Max Semenik |
Improve language in error messages Closes GH-5617 |
#
acee66ae |
| 29-Apr-2020 |
Xinchen Hui |
Merge branch 'PHP-7.4' * PHP-7.4: Fixed bug #79536 (zend_clear_exception prevent exception's destructor to be called).
|
#
8555c2bf |
| 29-Apr-2020 |
Xinchen Hui |
Fixed bug #79536 (zend_clear_exception prevent exception's destructor to be called). |
#
33c3691c |
| 25-Apr-2020 |
Máté Kocsis |
Generate method entries from stubs for Zend classes Closes GH-5459 |
#
5bf01fca |
| 25-Apr-2020 |
Máté Kocsis |
Use the default type error message for Exception::__construct() Closes GH-5460 |