Christoph M. Becker
a9e45bc0fb
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #78296 : is_file fails to detect file
2019-12-02 11:29:58 +01:00
Christoph M. Becker
bb735c9e9e
Fix #78296 : is_file fails to detect file
...
If we're constructing extended-length paths (i.e. paths prefixed with
`\\?\`), we have to replace all forward slashes with backward slashes,
because the former are not supported by Windows for extended-length
paths.
The more efficient and likely cleaner alternative solution would be to
cater to this in `php_win32_ioutil_normalize_path_w()` by always
replacing forward slashes, but that might break existing code. It
might be sensible to change that for `master`, though.
2019-12-02 11:29:10 +01:00
Christoph M. Becker
4ff242a9a7
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #78833 : Integer overflow in pack causes out-of-bound access
2019-12-02 11:21:07 +01:00
Christoph M. Becker
3d81c54879
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fix #78833 : Integer overflow in pack causes out-of-bound access
2019-12-02 11:19:15 +01:00
Christoph M. Becker
db420cb6a1
Fix #78833 : Integer overflow in pack causes out-of-bound access
...
We check for potential signed integer overflow, and bail out
gracefully, in that case.
2019-12-02 11:18:19 +01:00
Christoph M. Becker
1979c5d16f
Upgrade to Oniguruma 6.9.4
...
Oniguruma 6.9.4 fixes several CVEs.
2019-11-30 14:00:41 +01:00
Christoph M. Becker
8c4b0ddde5
Add missing skip checks
2019-11-29 23:50:05 +01:00
Christoph M. Becker
ff2140c49d
Partially revert "Adapt test cases for Oniguruma 6.9.4"
...
This partially reverts commit c55d09c2f5 ,
because `MB_ONIGURUMA_VERSION` is only available as of PHP 7.4.0, so
that change made no sense for PHP-7.3; we keep it for PHP-7.4, though.
We also stick with the modification to bug78633.phpt.
2019-11-29 23:40:30 +01:00
Christoph M. Becker
2b700841c5
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Adapt test cases for Oniguruma 6.9.4
2019-11-29 17:00:11 +01:00
Christoph M. Becker
c55d09c2f5
Adapt test cases for Oniguruma 6.9.4
...
Apparently, bug 78633 has now really been fixed; the former fix only
catered to the buffer overflow, but yielded a wrong result. Also,
the order of the named captures has been fixed.
2019-11-29 16:59:19 +01:00
Christoph M. Becker
4ac3bda462
Prevent parallel test conflicts
...
The better solution would be to actually use different directory names,
but adding respective CONFLICTS sections solves the issue for now.
2019-11-27 14:04:10 +01:00
Christoph M. Becker
30aa2e8932
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #78840 : imploding $GLOBALS crashes
2019-11-27 09:33:55 +01:00
Christoph M. Becker
fee38633d2
Fix #78840 : imploding $GLOBALS crashes
...
We add support for IS_INDIRECT zvals to implode().
2019-11-27 09:32:16 +01:00
Christoph M. Becker
717730ddd1
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #77638 : var_export'ing certain class instances segfaults
2019-11-25 15:57:56 +01:00
Christoph M. Becker
23c65a8173
Fix #77638 : var_export'ing certain class instances segfaults
...
If objects return immutable property hash tables (typically,
`zend_empty_array`), we must not try to apply recursion protection on
those.
2019-11-25 15:54:11 +01:00
Christoph M. Becker
cfb643ca2b
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #78853 : preg_match() may return integer > 1
2019-11-22 19:29:11 +01:00
Christoph M. Becker
e1da72bdf1
Fix #78853 : preg_match() may return integer > 1
...
Commit 54ebebd[1] optimized the match loop, but for this case it has
been overlooked, that we must only loop if we're doing global matching.
[1] <http://git.php.net/?p=php-src.git;a=commit;h=54ebebd686255c5f124af718c966edb392782d4a >
2019-11-22 19:26:26 +01:00
Christoph M. Becker
b78ec58f09
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #78849 : GD build broken with -D SIGNED_COMPARE_SLOW
2019-11-21 10:02:33 +01:00
Christoph M. Becker
b4f501d5a4
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fix #78849 : GD build broken with -D SIGNED_COMPARE_SLOW
2019-11-21 10:01:05 +01:00
Christoph M. Becker
9b92c1d154
Fix #78849 : GD build broken with -D SIGNED_COMPARE_SLOW
...
Apparently, this has not been tested for a long time, and might be a
refactoring relict. Anyhow, we have to pass the context to
`GIFNextPixel` as well.
2019-11-21 09:59:26 +01:00
Dmitry Stogov
be6fb13873
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix $x = (bool)$x; for undefined with opcache
2019-11-18 11:27:43 +03:00
Dmitry Stogov
e72e3370c6
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fix $x = (bool)$x; for undefined with opcache
2019-11-18 11:26:30 +03:00
Tyson Andre
a2c41c0ea6
Fix $x = (bool)$x; for undefined with opcache
...
And `$x = !$x`
Noticed while working on GH-4912
The included test would not emit undefined variable errors in php 8.0
with opcache enabled. The command used:
```
php -d zend_extension=opcache.so --no-php-ini -d error_reporting=E_ALL \
-d opcache.file_cache= -d opcache.enable_cli=1 test.php
```
2019-11-18 11:24:03 +03:00
Christoph M. Becker
39d04f15f8
Fix ASLR related invalid opline handler issues
...
Opcache stores `opline->handler`s in shared memory. These pointers are
invalid, if the main PHP DLL is loaded at another base address due to
ASLR. We therefore store the address of `execute_ex` in the mmap base
file, and check on startup whether it matches its current address. If
not, we fall back on the file cache if enabled, and bail out otherwise.
This still does not address cases where the opline handler is located
inside of another DLL (e.g. for some profilers, debuggers), but there
seems to be no general solution for now.
(cherry picked from commit 8ba10b8fbc )
2019-11-15 09:46:58 +01:00
Fabien Villepinte
92fd96531c
Add more CONFLICTS tags
...
Closes GH-4908.
2019-11-13 20:59:23 +01:00
Dmitry Stogov
49fcbb4810
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fixed wrong constant usage
2019-11-12 13:00:27 +03:00
Dmitry Stogov
9083e178f6
Fixed wrong constant usage
2019-11-12 12:59:50 +03:00
Stanislav Malyshev
686a24c1eb
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix bug #78804 - Segmentation fault in Locale::filterMatches
2019-11-11 23:08:44 -08:00
Stanislav Malyshev
ea2a125789
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fix bug #78804 - Segmentation fault in Locale::filterMatches
2019-11-11 23:08:38 -08:00
Stanislav Malyshev
2c9926f156
Fix bug #78804 - Segmentation fault in Locale::filterMatches
2019-11-11 22:32:35 -08:00
Christoph M. Becker
ce047e6091
Fix test case for Windows
2019-11-11 12:49:32 +01:00
Christoph M. Becker
60081ca20d
Fix test cases which fail on Windows debug builds
...
We use the portable {TMP} instead of the hard-coded /tmp, and skip
mysqli_debug_append.phpt on Windows, because unlinking the trace file
while the connection is still open won't work there.
2019-11-11 12:14:38 +01:00
Dmitry Stogov
ecd0c5b6ad
Fixed bug #78714 (funcs returning pointer can't use call convention spec)
2019-11-11 12:07:48 +03:00
Fabien Villepinte
ce41795a9f
Fix conflicts in windows ACL tests
...
Closes GH-4898.
2019-11-09 13:55:42 +01:00
Levi Morrison
05bce66037
Merge branch 'PHP-7.3' into PHP-7.4
2019-11-08 08:02:49 -07:00
Levi Morrison
4a55794b98
Wrap php_random.h in C++ portability macros
...
Also remove portability headers. This goes against the existing
conventions of these files.
2019-11-08 07:58:26 -07:00
Nikita Popov
6ddb381ae5
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Wrap hrtime in `extern "c" {}`
2019-11-07 14:42:11 +01:00
Levi Morrison
b9dfa12853
Wrap hrtime in extern "c" {}
...
This allows it to be used by C++ extensions without them having to do their own forward declares.
Closes GH-4890.
2019-11-07 14:41:58 +01:00
Nikita Popov
e19f0e86dc
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix php_pcre_mutex_free()
2019-11-07 14:31:55 +01:00
Nikita Popov
6dcc0b859f
Fix php_pcre_mutex_free()
...
We should only set the mutex to NULL if we actually freed it.
Due to missing braces non-main threads may currently set it to
NULL first.
2019-11-07 14:31:19 +01:00
Nikita Popov
aba89f56ff
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Remove outdated comments in test
2019-11-07 14:06:48 +01:00
Nikita Popov
29f4939923
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Remove outdated comments in test
2019-11-07 14:06:33 +01:00
Nikita Popov
ee243bc471
Remove outdated comments in test
2019-11-07 14:06:23 +01:00
Nikita Popov
aed4f6e849
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fixed bug #78759
2019-11-07 11:17:14 +01:00
Nikita Popov
8d2a9d8859
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fixed bug #78759
2019-11-07 11:16:24 +01:00
Nikita Popov
5fa6dcd972
Fixed bug #78759
...
Handle INDIRECT values in array.
2019-11-07 11:15:29 +01:00
Nikita Popov
f494a36618
Remove bogus skipifs in get_browser tests
...
We provide this file, it should be readable.
These checks no longer work, since --INI-- values are no longer
passed to --SKIPIF--.
2019-11-06 17:48:52 +01:00
Nikita Popov
3e41ade638
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fixed bug #78775
2019-11-05 12:16:09 +01:00
Nikita Popov
747cb46244
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fixed bug #78775
2019-11-05 12:15:44 +01:00
Nikita Popov
4f984a2fdb
Fixed bug #78775
...
Clear the OpenSSL error queue before performing SSL stream operations.
As we don't control all code that could possibly be using OpenSSL,
we can't rely on the error queue being empty.
2019-11-05 12:13:46 +01:00