#
eac700b1 |
| 09-Jun-2020 |
Christoph M. Becker |
[ci skip] Update NEWS |
#
2447fd9f |
| 09-Jun-2020 |
Nikita Popov |
Fixed bug #79683 Reset fake_scope during __toString() call. I'll check if we can solve this more globally in master, by resetting fake_scope in zend_call_function. |
#
ee4683cf |
| 08-Jun-2020 |
Christoph M. Becker |
Merge branch 'PHP-7.3' into PHP-7.4 * PHP-7.3: Fix #74267: segfault with streams and invalid data
|
#
12c59f66 |
| 08-Jun-2020 |
Christoph M. Becker |
Fix #74267: segfault with streams and invalid data If the current character is a line break character, it cannot be a tab or space character, so we would always fail with an invalid sequ
Fix #74267: segfault with streams and invalid data If the current character is a line break character, it cannot be a tab or space character, so we would always fail with an invalid sequence error. Obviously, these `scan_stat == 4` conditions are meant to be exclusive. Furthermore, if `in_pp == NULL || in_left_p == NULL` is true, we hit a segfault if we are not returning right away. Obviously, the additional constraints don't make sense, so we remove them.
show more ...
|
#
b03cafd1 |
| 05-Jun-2020 |
Nikita Popov |
Fix bug #77966: Cannot alias a method named "namespace" This is a bit tricky: In this cases we have "namespace as", which means that we will only recognize "namespace" as an identifier w
Fix bug #77966: Cannot alias a method named "namespace" This is a bit tricky: In this cases we have "namespace as", which means that we will only recognize "namespace" as an identifier when the lookahead token is already at the "as". This means that zend_lex_tstring picks up the wrong identifier. We solve this by actually assigning the identifier as the semantic value on the parser stack -- as in almost all cases we will not actually need the identifier, this is just an (offset, size) reference, not a copy of the string. Additionally, we need to teach the lexer feedback mechanism used by tokenizer TOKEN_PARSE mode to apply feedback to something other than the very last token. To that purpose we pass through the token text and check the tokens in reverse order to find the right one. Closes GH-5668.
show more ...
|
#
df2db7fc |
| 08-Jun-2020 |
Nikita Popov |
Fixed bug #79657 Throwing an exception should count as an initialization for this purpose. |
#
367c55ff |
| 07-Jun-2020 |
Jakub Zelenka |
Update NEWS and UPGRADING for the OpenSSL ext CMS addition |
#
7439941d |
| 30-May-2020 |
Gabriel Caruso |
Add $filter parameter for ReflectionClass::(getConstants|getReflectionConstants) This solves [#79628](https://bugs.php.net/79628). Similar to `ReflectionClass::getMethods()` and `Re
Add $filter parameter for ReflectionClass::(getConstants|getReflectionConstants) This solves [#79628](https://bugs.php.net/79628). Similar to `ReflectionClass::getMethods()` and `ReflectionClass::getProperties()`, this new `$filter` argument allows the filtering of constants defined in a class by their visibility. For that, we create three new constants for `ReflectionClassConstant`: * `IS_PUBLIC` * `IS_PROTECTED` * `IS_PRIVATE` Closes GH-5649.
show more ...
|
#
e949f306 |
| 29-May-2020 |
Nikita Popov |
Fixed bug #72089: Throw Error on require failure It should be noted that we still throw the usual fopen warnings, but the final fatal error becomes an Error exception. Combine with @
Fixed bug #72089: Throw Error on require failure It should be noted that we still throw the usual fopen warnings, but the final fatal error becomes an Error exception. Combine with @ to suppress FS warnings. Closes GH-5641.
show more ...
|
#
d65c8536 |
| 04-Jun-2020 |
Christoph M. Becker |
Merge branch 'PHP-7.3' into PHP-7.4 * PHP-7.3: Fix #73527: Invalid memory access in php_filter_strip
|
#
ceae8166 |
| 04-Jun-2020 |
Christoph M. Becker |
Fix #73527: Invalid memory access in php_filter_strip |
#
864fb0ec |
| 03-Jun-2020 |
Christoph M. Becker |
Implement #47074: phpinfo() reports "On" as 1 for the some extensions What is modified as boolean, should also be displayed as boolean. |
#
5e38a1b3 |
| 04-Jun-2020 |
Christoph M. Becker |
Merge branch 'PHP-7.3' into PHP-7.4 * PHP-7.3: Fix #79668: get_defined_functions(true) may miss functions
|
#
b8e7b30b |
| 03-Jun-2020 |
Christoph M. Becker |
Fix #79668: get_defined_functions(true) may miss functions Instead of some brittle and unefficient string matching, we can just check for the function handler. |
#
d23cd354 |
| 02-Jun-2020 |
Christoph M. Becker |
Fix #79665: ini_get() and opcache_get_configuration() inconsistency Overriding the given INI values in modifier callbacks is not possible, so instead of enforcing "normalized" internal v
Fix #79665: ini_get() and opcache_get_configuration() inconsistency Overriding the given INI values in modifier callbacks is not possible, so instead of enforcing "normalized" internal values, we just reject the attempted changes.
show more ...
|
#
af4a9bf1 |
| 27-May-2020 |
Christoph M. Becker |
Fix #73927: phpdbg fails with windows error prompt at "watch array" We expect zvals, so we should request zvals. We also suppress spurious watchpoint removal notices. |
#
46113500 |
| 02-Jun-2020 |
Christoph M. Becker |
Merge branch 'PHP-7.3' into PHP-7.4 * PHP-7.3: Fix #79664: PDOStatement::getColumnMeta fails on empty result set
|
#
63bd8f38 |
| 02-Jun-2020 |
Christoph M. Becker |
Fix #79664: PDOStatement::getColumnMeta fails on empty result set As its name suggests, `sqlite3_data_count` returns the number of columns in the current row of the result set; we are in
Fix #79664: PDOStatement::getColumnMeta fails on empty result set As its name suggests, `sqlite3_data_count` returns the number of columns in the current row of the result set; we are interested in the number of columns regardless of the current row, so we have to use `sqlite3_column_count` instead.
show more ...
|
#
b26ad330 |
| 01-Jun-2020 |
Christoph M. Becker |
Merge branch 'PHP-7.3' into PHP-7.4 * PHP-7.3: Fix #79650: php-win.exe 100% cpu lockup
|
#
923c45bd |
| 31-May-2020 |
Christoph M. Becker |
Fix #79650: php-win.exe 100% cpu lockup As of PHP 7.3.0, `sapi_cli_single_write()` is supposed to return `< 0` on failure, but `fwrite()` returns a `size_t`, and signals error by set
Fix #79650: php-win.exe 100% cpu lockup As of PHP 7.3.0, `sapi_cli_single_write()` is supposed to return `< 0` on failure, but `fwrite()` returns a `size_t`, and signals error by setting the stream's error indicator. We have to cater to that.
show more ...
|
#
cc27781f |
| 29-Apr-2020 |
Tyson Andre |
[RFC] Always enable JSON support in php 8.0 Currently, it's possible to disable the json extension with `./configure --disable-json` (for historical reasons that no longer apply). Ho
[RFC] Always enable JSON support in php 8.0 Currently, it's possible to disable the json extension with `./configure --disable-json` (for historical reasons that no longer apply). However, JSON is widely used in many use cases - web sites, logging output, and as a data format that can be used to share data with many applications and programming languages, so I'd personally find it useful if it was always enabled. Examples of where this would be useful: - For internal classes to be able to implement `JsonSerializable` which currently requires a hard dependency on the JSON extension. - For PHP users to publish single-file scripts that use json_encode and json_decode and don't require polyfills or less readable var_export output. (polyfills are less efficient and may have issues with recursive data structures) - So that php-src's own modules, tools and test cases can start using JSON if it's a good choice for encoding a value. (same for PECLs) https://wiki.php.net/rfc/jsond mentions that in PHP 5, > The current Json Parser in the json extension does not have a free license > which is a problem for many Linux distros. > This has been referenced at Bug #63520. > That results in not packaging json extension in the many Linux distributions. Starting in php 7.0 with the switch to jsond, It looks like licensing is no longer an issue. Changes: - Remove all flags related to JSON such as `configure --disable-json` - Require that JSON be compiled statically instead of as a shared library Examples of uses of JSON in various distros (backwards incompatible changes such as changing packaging are typically reserved for major versions, and 8.0 is a major version) - JSON is required by `php-cli` or `php` in ubuntu: https://packages.ubuntu.com/focal/php/ - The php-json package has to be installed separately from the PHP binary in Fedora repos. Closes GH-5495
show more ...
|
#
8483a21f |
| 25-May-2020 |
Christoph M. Becker |
Fix several mostly Windows related phpdbg bugs * Properly initialize PHPDBG_G(watch_tmp) Otherwise that may cause segfaults in ZTS builds. * Deactivate potentially remain
Fix several mostly Windows related phpdbg bugs * Properly initialize PHPDBG_G(watch_tmp) Otherwise that may cause segfaults in ZTS builds. * Deactivate potentially remaining watchpoints after REPL Otherwise the memory could still be protected, resulting in segfaults during shutdown. * NULL zend_handlers_table after freeing As of commit 4130fe4[1], the `zend_handlers_table` is explicitly freed in the `zend_vm_dtor()`. Since phpdbg (and maybe some other SAPIs) may restart the engine afterwards, we have to make sure that the table is also NULLed. * Only set context option if there is a context In other words, we must not follow the null pointer. * Cater to file handles without attached console File handles do not necessarily have an attached console (for instance, pipes do not), in which case `GetConsoleScreenBufferInfo()` fails. In this case we set a default value (`40`) for lines like on other systems. [1] <http://git.php.net/?p=php-src.git;a=commit;h=4130fe437a5db7ead1444d3748bd0fbad9829cb2>
show more ...
|
#
e483761a |
| 19-May-2020 |
Christoph M. Becker |
Fix #73926: phpdbg will not accept input on restart execution We are more liberal, and accept Windows line endings (CRLF) as well. |
#
879004da |
| 26-May-2020 |
Christoph M. Becker |
Fix #79595: zend_init_fpu() alters FPU precision On startup, PHP deliberately changes the floating point control word to enforce binary64 format for the calculations for best consistency
Fix #79595: zend_init_fpu() alters FPU precision On startup, PHP deliberately changes the floating point control word to enforce binary64 format for the calculations for best consistency across platforms. However, this is unnessary for x86_64 architectures, because in this case SSE instructions are used by default, and there is no good reason to pass `-mfpmath=i387` or such. Therefore, we can skip the modification, which has the benefit that system libraries are free to work in the mode of their liking.
show more ...
|
#
c6fc400e |
| 26-May-2020 |
Derick Rethans |
Add (expected) release date, and new header for 7.4.8 |