Tyson Andre
0dbc24c3fa
Fix other incorrect opcache types
...
Closes GH-4959.
2019-12-04 07:40:25 +01:00
Tyson Andre
5624d2eb00
Make some opcache types consistent with reflection information
...
Remove functions such as filter_id() where reference counts and types are
identical to what's in opcache.
Remove null types from zend_func_info.c that aren't in Reflection
(php would throw now)
Fix the Reflection type information for assert_options()
php > assert_options(ASSERT_CALLBACK, static function() {});
php > var_export(assert_options(ASSERT_CALLBACK));
Closure::__set_state(array(
))
Closes GH-4958.
2019-12-04 07:31:06 +01:00
Nikita Popov
8dead642fe
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix print_r return types in opcache
2019-12-04 07:17:18 +01:00
Nikita Popov
39b08ba99c
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix print_r return types in opcache
2019-12-04 07:16:56 +01:00
Tyson Andre
c8e9aa854c
Fix print_r return types in opcache
...
https://www.php.net/print_r
> When the return parameter is TRUE, this function will return a string.
> Otherwise, the return value is TRUE.
2019-12-04 07:16:32 +01:00
Christoph M. Becker
8a5601a364
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix #78814 : strip_tags allows / in tag name => whitelist bypass
2019-12-02 11:39:58 +01:00
Christoph M. Becker
3356dd0575
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #78814 : strip_tags allows / in tag name => whitelist bypass
2019-12-02 11:39:35 +01:00
Christoph M. Becker
861fa60814
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fix #78814 : strip_tags allows / in tag name => whitelist bypass
2019-12-02 11:38:45 +01:00
Christoph M. Becker
600f1f898f
Fix #78814 : strip_tags allows / in tag name => whitelist bypass
...
When normalizing tags to check whether they are contained in the set
of allowable tags, we must not strip slashes, unless they come
immediately after the opening `<`, or immediately before the closing
`>`.
2019-12-02 11:37:25 +01:00
Christoph M. Becker
b07c76059d
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix #78296 : is_file fails to detect file
2019-12-02 11:30:23 +01:00
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
0dba3a8e43
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix #78833 : Integer overflow in pack causes out-of-bound access
2019-12-02 11:21:37 +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
Adam Saponara
b35acd30f2
Fix misleading error message in ZendAccelerator.c
.
...
Currently this error emits something like...
`Error Cannot kill process 12345: Success!`
...due to calling `time` before `strerror` which clears `errno`. This
patch adds an error log immediately after both `kill` calls which gives
us better indication of what exactly failed.
2019-12-02 10:06:32 +01:00
Lucas Martín
c0e049656c
Fix typo in xmm15 register
2019-12-01 12:28: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
Dmitry Stogov
f8f48ce8f5
Refactor JIT to reduce back-end dependency from SSA representation.
...
This commit shouldn't change JIT behavior, but it adds asserts, that may catch wrong-cases occasionally passed before.
2019-11-29 19:07:17 +03:00
Christoph M. Becker
bf6c2932f4
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Adapt test cases for Oniguruma 6.9.4
2019-11-29 17:01:11 +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
Dmitry Stogov
3360d05f30
Don't keep QM_ASSIGN with IS_UNUSED result
2019-11-29 17:43:36 +03:00
Dmitry Stogov
b7241adf5e
typos
2019-11-28 13:23:17 +03:00
Dmitry Stogov
36175b3c3d
Fixed wrong parameteris order
2019-11-27 16:48:01 +03:00
Dmitry Stogov
40ef3196e0
Fixed register allocation
2019-11-27 16:26:43 +03:00
Christoph M. Becker
b7edbbdbbb
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Prevent parallel test conflicts
2019-11-27 14:05:47 +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
Dmitry Stogov
249e9a63e8
Fixed JIT for LONG->DOUBLE conversion when optimizer disabled
2019-11-27 14:31:24 +03:00
Christoph M. Becker
b6e79f3724
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix #78840 : imploding $GLOBALS crashes
2019-11-27 09:34:57 +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
Dmitry Stogov
b046a8f7f8
Fixed incorrect JIT compilation
2019-11-26 16:45:19 +03:00
avkarenow
182f98a194
Open opcache.error_log with 'a' flag
...
When opcache.error_log is set to log to file the read flag is not needed and used.
2019-11-26 09:29:27 +03:00
Christoph M. Becker
0e20220cfc
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix #77638 : var_export'ing certain class instances segfaults
2019-11-25 15:58:45 +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
e7e15450ef
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix #78853 : preg_match() may return integer > 1
2019-11-22 19:30:43 +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
George Peter Banyard
501a72e354
Promote warning to value error in strpbrk()
...
Closes GH-4598
2019-11-22 00:36:54 +01:00
Christoph M. Becker
424d34d1c0
Make test more resilient
...
`socket_bind()` may raise `E_WARNING` on failure, which would cause the
test to be marked as borked. Since we're checking the return value
anyway, we can silence warnings.
2019-11-21 13:40:36 +01:00
Christoph M. Becker
b40799efcd
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix #78849 : GD build broken with -D SIGNED_COMPARE_SLOW
2019-11-21 10:04:03 +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
Tyson Andre
f7c44ef2a0
Make opcache infer array_key_exists is non-null bool
...
array_key_exists now throws a TypeError instead of returning null
for invalid arguments after 14bdb0cfc7
2019-11-20 00:11:51 +03:00