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
Dmitry Stogov
9083e178f6
Fixed wrong constant usage
2019-11-12 12:59:50 +03: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
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
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
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
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
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
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
Christoph M. Becker
85874af404
Remove obsolete oniguruma.patch
...
The proper `SIZEOF_SIZE_T` definitions are available as of Oniguruma
6.9.1; no more need to patch.
2019-11-05 10:16:22 +01:00
Christoph M. Becker
e175a0a1c8
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fix test cases for libxml2 2.9.10
2019-10-31 16:08:38 +01:00
Christoph M. Becker
e29922f054
Fix test cases for libxml2 2.9.10
...
Since the error reporting has been slightly changed, we have to adapt
the two affected test cases.
2019-10-31 16:07:34 +01:00
Stanislav Malyshev
8c2b3b0568
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fix libmagic buffer overflow issue (CVE-2019-18218)
bump version
set versions for release
2019-10-28 20:47:44 -07:00
Stanislav Malyshev
2bdb13a1f7
Merge branch 'PHP-7.1' into PHP-7.2
...
* PHP-7.1:
Fix libmagic buffer overflow issue (CVE-2019-18218)
bump version
set versions for release
2019-10-28 20:47:30 -07:00
Christoph M. Becker
736cd93ef5
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fix #78751 : Serialising DatePeriod converts DateTimeImmutable
2019-10-28 13:08:34 +01:00
Christoph M. Becker
89c327f884
Fix #78751 : Serialising DatePeriod converts DateTimeImmutable
...
When getting the properties of a DatePeriod instance we have to retain
the proper classes, and when restoring a DatePeriod instance we have to
cater to DateTimeImmutable instances as well.
2019-10-28 13:07:28 +01:00
Stanislav Malyshev
469820048d
Fix libmagic buffer overflow issue (CVE-2019-18218)
...
Ported from 46a8443f76
2019-10-27 16:30:38 -07:00
Nikita Popov
74699533e5
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fixed bug #78747
2019-10-25 12:50:12 +02:00
Nikita Popov
5249993814
Fixed bug #78747
2019-10-25 12:47:18 +02:00
Joe Watkins
1c9b62fbd4
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fix bug #78697 : inaccurate error message
2019-10-21 09:23:26 +02:00
Fabien Villepinte
bea2ff88c9
Fix bug #78697 : inaccurate error message
2019-10-21 09:22:09 +02:00
Christoph M. Becker
4f50d58cab
Fix #78633 : Heap buffer overflow (read) in mb_eregi
...
We backport kkos/oniguruma@15c4228aa2 .
2019-10-20 22:47:38 -07:00
Christoph M. Becker
ce035dc4a0
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fix #78694 : Appending to a variant array causes segfault
2019-10-19 11:49:18 +02:00
Christoph M. Becker
45a7723267
Fix #78694 : Appending to a variant array causes segfault
...
`write_dimension` object handlers have to be able to handle `NULL`
`offset`s; for now we simply throw an exception instead of following
the `NULL` pointer.
2019-10-19 11:47:00 +02:00
Christoph M. Becker
c7c7ab53ac
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fix #70153 \DateInterval incorrectly unserialized
2019-10-18 15:32:08 +02:00
m.yakunin
d2cde0bfd3
Fix #70153 \DateInterval incorrectly unserialized
...
Added a separate macro for reading 'days' property, so that bool(false)
is correctly converted to the proper internal representation.
2019-10-18 15:31:14 +02:00
Derick Rethans
3725a446ba
Import timelib version 2018.03
2019-10-15 21:00:39 +01:00
Joe Watkins
22ac57b064
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fix checksum calculation for opcache
2019-10-14 16:49:48 +02:00
Mitch Hagstrand
e2a6bf482f
Fix checksum calculation for opcache
2019-10-14 16:46:42 +02:00
Christoph M. Becker
7439d48bea
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fix #78665 : Multicasting may leak memory
2019-10-12 14:44:55 +02:00
Christoph M. Becker
900bdcbd03
Fix #78665 : Multicasting may leak memory
2019-10-12 14:43:43 +02:00
Nikita Popov
74ac3dd6e2
Merge branch 'PHP-7.2' into PHP-7.3
2019-10-10 16:14:37 +02:00
Nikita Popov
46561dab6a
Fix leak in phar open
2019-10-10 16:14:21 +02:00
Nikita Popov
a0163417ef
Merge branch 'PHP-7.2' into PHP-7.3
2019-10-09 17:33:44 +02:00
Nikita Popov
daf1fc6e31
Avoid float to int cast UB in exif
2019-10-09 17:33:29 +02:00
Nikita Popov
cbf589b17c
Merge branch 'PHP-7.2' into PHP-7.3
2019-10-09 14:58:01 +02:00
Nikita Popov
d6ca174d5b
Remove redundant components < 0 check
...
components is an unsigned number, it cannot be smaller than zero.
2019-10-09 14:57:24 +02:00
Nikita Popov
736af5f660
Merge branch 'PHP-7.2' into PHP-7.3
2019-10-08 16:13:17 +02:00
Sergei Turchanov
a8f60ac9dd
Add pcre_get_compiled_regex_cache_ex() with local_aware flag
...
A new function `pcre_get_compiled_regex_cache_ex()` is introduced,
which allows to compile regexp pattern using the "C" locale instead
of a current locale.
This will be needed to replace setlocale() usage in fileinfo,
which is not thread-safe.
2019-10-08 16:11:55 +02:00
Christoph M. Becker
9fd555f99e
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Add missing SKIPIFs in exif tests
2019-10-08 14:12:12 +02:00
Fabien Villepinte
46894580b0
Add missing SKIPIFs in exif tests
2019-10-08 14:11:32 +02:00
Nikita Popov
2fdd142f99
Check for exception after applying stream filters
...
This makes the stream opening actually fail, and avoids assertion
failures when we tokenize with EG(exception) set.
Also avoid throwing an additional warning after an exception has
already been thrown.
2019-10-08 12:32:57 +02:00
Christoph M. Becker
d6fdc17f7f
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fix #78642 : Wrong libiconv version displayed
2019-10-08 12:10:06 +02:00
Christoph M. Becker
195c2008e8
Fix #78642 : Wrong libiconv version displayed
...
The high byte of `_libiconv_version` specifies the major version; the
low byte the minor version.
2019-10-08 12:09:11 +02:00