1
0
mirror of https://github.com/php/php-src.git synced 2026-04-26 09:28:21 +02:00
Commit Graph

114432 Commits

Author SHA1 Message Date
Christoph M. Becker d65c85366d Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix #73527: Invalid memory access in php_filter_strip
2020-06-04 13:38:45 +02:00
Christoph M. Becker ceae81665c Fix #73527: Invalid memory access in php_filter_strip 2020-06-04 13:37:11 +02:00
talyz a230717fbb mysqlnd: Remove unnecessary check for HAVE_ZLIB
If MYSQLND_COMPRESSION_WANTED is set, we already guarantee that
zlib is linked, but don't necessarily set HAVE_ZLIB.

Closes GH-5658.
2020-06-04 10:01:17 +02:00
Christoph M. Becker 5e38a1b352 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix #79668: get_defined_functions(true) may miss functions
2020-06-04 09:00:01 +02:00
Christoph M. Becker b8e7b30b47 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.
2020-06-04 08:45:27 +02:00
Nikita Popov 39111585a2 Report len as -1 instead of INT_MAX
Per docs it should be -1. And would be on 32-bit systems, but
not on 64-bit systems.
2020-06-03 10:15:54 +02:00
Nikita Popov 2a7d628adc Skip new watch point test under asan 2020-06-03 10:01:57 +02:00
Christoph M. Becker af4a9bf1bf 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.
2020-06-02 15:17:40 +02:00
Christoph M. Becker 461135009c Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix #79664: PDOStatement::getColumnMeta fails on empty result set
2020-06-02 10:47:10 +02:00
Christoph M. Becker 63bd8f38f4 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.
2020-06-02 10:45:47 +02:00
Christoph M. Becker b26ad33001 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix #79650: php-win.exe 100% cpu lockup
2020-06-01 13:24:32 +02:00
Christoph M. Becker 923c45bdca 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.
2020-06-01 13:22:44 +02:00
Christoph M. Becker 8068fad481 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix PVS-Studio integration
2020-05-28 15:34:09 +02:00
Christoph M. Becker 744f9016c4 Fix PVS-Studio integration
Without this configuration option, PVS-Studio looks for preprocessed
files (*.i), but these do not exists.
2020-05-28 15:23:37 +02:00
Nikita Popov 490ca05883 Use automatic port assignment in socket_import/export test 2020-05-28 10:18:59 +02:00
Dmitry Stogov 886a34b1cc Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fixed possible usage of uninitialized value
2020-05-27 11:26:25 +03:00
Dmitry Stogov 1f521a0b23 Fixed possible usage of uninitialized value 2020-05-27 11:25:18 +03:00
Christoph M. Becker 9fad9addb5 Enable phpdbg tests on AppVeyor 2020-05-26 17:45:35 +02:00
Christoph M. Becker 9d5dafe040 Make phpdbg test portable 2020-05-26 17:45:35 +02:00
Christoph M. Becker 8483a21f29 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>
2020-05-26 17:45:25 +02:00
Christoph M. Becker e483761a1e Fix #73926: phpdbg will not accept input on restart execution
We are more liberal, and accept Windows line endings (CRLF) as well.
2020-05-26 17:44:39 +02:00
Christoph M. Becker 879004dae3 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.
2020-05-26 17:19:54 +02:00
Derick Rethans c6fc400e8b Add (expected) release date, and new header for 7.4.8 2020-05-26 14:20:06 +01:00
Derick Rethans 46d88a49cc This bug fix was cherry picked into 7.4.6 2020-05-26 14:19:13 +01:00
Nikita Popov 4a08ca1294 Respect typed references in catch assignment
I decided to null out EG(exception) early here, which means only
the exception from the dtor / ref assign is preserved, and the
previous exception is not chained in. This is more robust, and
I don't think this situation is common enough to be bothered about
the precise behavior.
2020-05-26 14:59:40 +02:00
Nikita Popov 314ab47e55 Fix zend_assign_to_typed_ref() implementation
There was some confusion going on here regarding the original
value vs the copied value.

I've dropped the needs_copy variable, because this code is not
inlined, so it would always be true anyway.

What we need to do is perform a move-assignment of the copied
value (in which case we don't care about performing the assignment
before destroying garbage), and destroying the original value
for the VAR/TMP cases. This is a bit complicated by the fact that
references are passed in via a separate ref variable, so we can't
just ptr_dtor the original variable.
2020-05-26 14:42:27 +02:00
Derick Rethans fb370ecbe5 Fixed historical dates in NEWS 2020-05-26 11:47:26 +01:00
Christoph M. Becker ee36478a03 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  7.3.20 will be next
2020-05-26 10:56:28 +02:00
Christoph M. Becker c249f593ef 7.3.20 will be next 2020-05-26 10:53:22 +02:00
Nikita Popov 10eb842a64 Revert "Fix #79595: zend_init_fpu() alters FPU precision"
This reverts commit 88dfc475c5.
2020-05-22 16:57:14 +02:00
Alex Dowad 6ad746488e Show diffs for failed tests on Azure CI
It's currently not possible to view the "Tests" tab on Azure if
you're not signed in, so also display diffs in the log.

Closes GH-5612.
2020-05-22 16:37:04 +02:00
Christoph M. Becker 88dfc475c5 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 when compiling under
`__SSE__`, because in this case the x87 instructions are not used.
Therefore, we can skip the modification, which has the benefit that
system libraries are free to work in the mode of their liking.
2020-05-22 15:46:13 +02:00
Christoph M. Becker da801ba5e3 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix #79615: Wrong GIF header written in GD GIFEncode
2020-05-22 09:19:05 +02:00
Christoph M. Becker d4bd6fb491 Fix #79615: Wrong GIF header written in GD GIFEncode
The color resolution is expected in bits 4-6 of the packed fields byte
of the logical screen descriptor (byte 10 of the GIF data stream),
according to the specification[1], section 18.

[1] <https://www.w3.org/Graphics/GIF/spec-gif89a.txt>
2020-05-22 09:15:41 +02:00
Nikita Popov 405bea4750 Update msan symbolizer path
To account for the newer version of LLVM on Ubuntu 18.04.
2020-05-20 15:24:49 +02:00
Nikita Popov 4f47ba99f0 Fix bug #79603, by retrying on RTD key collision
This is a non-intrusive fix for 7.4, still trying to find a good
solution for master.

Closes GH-5597.
2020-05-20 11:22:50 +02:00
Nikita Popov db0cdcbb0a Fix static property indirections in file cache
If the class is already linked, we need to serialize and
unserialize INDIRECTed static properties. Normally these would
be set up when copying from cache.
2020-05-20 11:12:18 +02:00
Nikita Popov 8819d247c6 Don't require rc=1 for function static variables
If file cache only is used, then static_variables_ptr may point
to an immutable static_variables HT, which we do not want to
destroy here.
2020-05-20 11:12:18 +02:00
Christoph M. Becker c4badcbec4 Bump version
Seems that has been forgotten.
2020-05-19 17:24:18 +02:00
Christoph M. Becker 6a9db9573e Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix INI setting member name
2020-05-19 16:00:19 +02:00
Christoph M. Becker 85ac5643ff Fix INI setting member name
Since the member is not used in `OnUpdateEol()` that's not really an
issue, but still it's confusing to apparently have two INI settings
targeting the same member.
2020-05-19 15:59:21 +02:00
Derick Rethans d2797505cd Put Xdebug 3 into 'off' mode for run-tests.php 2020-05-18 13:51:40 +01:00
Derick Rethans 8e7d94e229 Merge branch 'PHP-7.3' into PHP-7.4 2020-05-18 13:51:14 +01:00
Derick Rethans 74a4a5ae55 Put Xdebug 3 into 'off' mode for run-tests.php 2020-05-18 13:49:12 +01:00
Nikita Popov d87b0685b5 Fixed bug #79600
Missed unsetting of DO_INIT in one case.
2020-05-15 11:04:40 +02:00
Xinchen Hui 3a3241ced7 fixed typo of bug id (#79599) 2020-05-15 15:43:38 +08:00
Xinchen Hui 446d189aa0 Merge branch 'PHP-7.4' of git.php.net:/php-src into PHP-7.4
* 'PHP-7.4' of git.php.net:/php-src:
  Fix #79557: extension_dir = ./ext now use current directory for base
  Fix #79596: MySQL FLOAT truncates to int some locales
  [ci skip] Fix NEWS
2020-05-15 15:36:51 +08:00
Xinchen Hui ccd41e0833 Fixed bug #97599 (coredump in set_error_handler) 2020-05-15 15:36:00 +08:00
Christoph M. Becker 8c6d006b55 Fix #79557: extension_dir = ./ext now use current directory for base
For some reason, `ImageLoad()` fails to load images with a relative
path starting with `.\`  or `./`.  We work around this issue by
stripping those leading characters.
2020-05-15 09:23:18 +02:00
Christoph M. Becker 844a1245ef Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix #79596: MySQL FLOAT truncates to int some locales
2020-05-15 09:11:44 +02:00