Dmitry Stogov
8cdead1568
Merge branch 'PHP-8.1'
...
* PHP-8.1:
JIT: Fix exception handling when next array element is already occupied
2021-11-29 21:57:38 +03:00
Dmitry Stogov
23c5a6fd16
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
JIT: Fix exception handling when next array element is already occupied
2021-11-29 21:57:29 +03:00
Dmitry Stogov
aff115547f
JIT: Fix exception handling when next array element is already occupied
...
Fixes oss-fuzz #41408
2021-11-29 21:44:00 +03:00
Christoph M. Becker
c0d890e918
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fix #74604 : Out of bounds in php_pcre_replace_impl
2021-11-29 19:17:49 +01:00
Christoph M. Becker
60717fcd34
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix #74604 : Out of bounds in php_pcre_replace_impl
2021-11-29 19:17:16 +01:00
Christoph M. Becker
816aa20391
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
Fix #74604 : Out of bounds in php_pcre_replace_impl
2021-11-29 19:15:20 +01:00
Christoph M. Becker
712fc54e85
Fix #74604 : Out of bounds in php_pcre_replace_impl
...
Trying to allocate a `zend_string` with a length only slighty smaller
than `SIZE_MAX` causes an integer overflow; we make sure that this
doesn't happen by catering to the maximal overhead of a `zend_string`.
Closes GH-7597.
2021-11-29 19:12:55 +01:00
Dmitry Stogov
1b36555148
Merge branch 'PHP-8.1'
...
* PHP-8.1:
JIT: Fix named arguments handling
JIT: Fix named arguments handling
2021-11-29 18:43:34 +03:00
Dmitry Stogov
b914122389
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
JIT: Fix named arguments handling
JIT: Fix named arguments handling
2021-11-29 18:43:24 +03:00
Dmitry Stogov
d955415114
JIT: Fix named arguments handling
...
Fixes oss-fuzz #41486
2021-11-29 18:39:50 +03:00
Dmitry Stogov
8f4cfe04eb
JIT: Fix named arguments handling
...
Fixes oss-fuzz #41486
2021-11-29 18:37:49 +03:00
Christoph M. Becker
e73cccd9f2
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fix #81659 : stream_get_contents() may unnecessarily overallocate
2021-11-29 14:50:54 +01:00
Christoph M. Becker
b0823438a9
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix #81659 : stream_get_contents() may unnecessarily overallocate
2021-11-29 14:50:19 +01:00
Christoph M. Becker
f3bd24a200
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
Fix #81659 : stream_get_contents() may unnecessarily overallocate
2021-11-29 14:48:11 +01:00
Christoph M. Becker
31749aac62
Fix #81659 : stream_get_contents() may unnecessarily overallocate
...
Since we're going to read from the current stream position anyway, the
`max_len` should be the size of the file minus the current position
(still catering to potentially filtered streams). We must, however,
make sure to cater to the file position being beyond the actual file
size.
While we're at, we also fix the step size in the comment, which is 8K.
A further optimization could be done for unfiltered streams, thus
saving that step size, but 8K might not be worth it.
Closes GH-7693.
2021-11-29 14:46:09 +01:00
Dmitry Stogov
ee38e3ac37
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Disable type narrowing optimization when we contruct SSA for JIT
2021-11-29 15:54:53 +03:00
Dmitry Stogov
c6e895aec2
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Disable type narrowing optimization when we contruct SSA for JIT
2021-11-29 15:53:16 +03:00
Dmitry Stogov
297117bbc5
Disable type narrowing optimization when we contruct SSA for JIT
...
This also revets incorrect fix introduced in f9518c3850
2021-11-29 15:51:54 +03:00
Tyson Andre
fbdded1ff1
Use interned string for calling count() in Zend VM
...
Similar to f0dd79a7e4
Copied from GH-7695
2021-11-28 14:09:54 -05:00
Nikita Popov
c5d6f59e96
Use custom object instead of resource for soap server service
...
The "service" resource is a purely internal structure used by
SoapServer, which userland code cannot interact with. Instead of
storing it as a resource in an object propperty, use a custom
object structure instead.
2021-11-28 18:37:29 +01:00
Tyson Andre
7504cf189b
Improve performance of WeakReference/WeakMap. Avoid hash collisions on pointers. ( #7690 )
...
Shift pointers by ZEND_MM_ALIGNMENT_LOG2
to avoid the noticeable performance degradation caused by hash table collisions.
in `EG(weakrefs)` and zend_weakmap->ht
On 64-bit platforms, pointers are usually aligned to at least 8 bytes,
so only one in 8 hash buckets were actually getting used.
(With the metadata needed to track allocations,
alignment might be at least 16 bytes in practice)
Address review comments, add optimization
Make it public for any extensions that need to work with EG(weakrefs)
for instrumentation, debugging, etc. (e.g. zend_test)
PHP 8.1 and previous releases would use the raw pointer value as a hash key instead.
2021-11-27 19:52:30 -05:00
Alex Dowad
ee3caef8eb
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Add unit tests for mb_detect_encoding on Polish text
2021-11-26 17:43:40 +02:00
Alex Dowad
1a2c608053
Add unit tests for mb_detect_encoding on Polish text
2021-11-26 17:42:53 +02:00
Nikita Popov
902d64390e
Deprecate implicit dynamic properties
...
Writing to a proprety that hasn't been declared is deprecated,
unless the class uses the #[AllowDynamicProperties] attribute or
defines __get()/__set().
RFC: https://wiki.php.net/rfc/deprecate_dynamic_properties
2021-11-26 14:10:11 +01:00
Gregor Harlan
35a01f86e0
Add dark mode for phpinfo() ( #7626 )
...
The light mode remains the same.
2021-11-26 11:51:42 +01:00
Nikita Popov
8be10fb48d
Remove redundant test
...
This test is the same as 001.phpt, apart from some formatting
differences.
2021-11-26 11:24:22 +01:00
Dmitry Stogov
8b86af4969
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fixed test (added 8.1 deprecation)
2021-11-25 22:40:49 +03:00
Dmitry Stogov
442304485e
Fixed test (added 8.1 deprecation)
2021-11-25 22:40:26 +03:00
Dmitry Stogov
81007bd86a
Merge branch 'PHP-8.1'
...
* PHP-8.1:
JIT: Fixed use-after-free caused by shift by negative number
2021-11-25 22:24:29 +03:00
Dmitry Stogov
971354caac
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
JIT: Fixed use-after-free caused by shift by negative number
2021-11-25 22:24:15 +03:00
Dmitry Stogov
49f44e7ffc
JIT: Fixed use-after-free caused by shift by negative number
...
Fixes oss-fuzz #41192
2021-11-25 22:21:44 +03:00
Christoph M. Becker
1f183792c1
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Update to PCRE2 10.39
2021-11-25 18:38:49 +01:00
Christoph M. Becker
6008a75f39
Update to PCRE2 10.39
...
We also apply an respective upstream fix[1].
[1] <https://github.com/PhilipHazel/pcre2/commit/d144199dfbefd276669a138b042f559b687b8bc8 >
Closes GH-7678.
2021-11-25 18:38:31 +01:00
Christoph M. Becker
80f18665e4
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fix #81649 : imap_(un)delete accept sequences, not single numbers
2021-11-25 18:31:29 +01:00
Christoph M. Becker
df5e95b4d1
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix #81649 : imap_(un)delete accept sequences, not single numbers
2021-11-25 18:31:14 +01:00
Christoph M. Becker
179030d167
Fix #81649 : imap_(un)delete accept sequences, not single numbers
...
As such, the parameter name `$message_num` is utmost misleading; it
should be `$message_nums` as for other functions.
Closes GH-7686.
2021-11-25 18:29:43 +01:00
Remi Collet
baeba4b0d7
Merge branch 'PHP-8.1'
...
* PHP-8.1:
add missing conditions
fix [-Wstrict-prototypes] build warnings in ext/gd
2021-11-25 13:20:37 +01:00
Remi Collet
54f1f8cf2a
add missing conditions
2021-11-25 13:20:27 +01:00
Remi Collet
1241ec8c3f
fix [-Wstrict-prototypes] build warnings in ext/gd
2021-11-25 13:17:15 +01:00
Remi Collet
f566cba0bb
fix [-Wstrict-prototypes] build warnings in ext/gd
2021-11-25 13:17:07 +01:00
Dmitry Stogov
7dcf853235
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fixed incorrect narrowing to double
2021-11-25 15:16:03 +03:00
Dmitry Stogov
b1a1ed380f
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fixed incorrect narrowing to double
2021-11-25 15:15:01 +03:00
Dmitry Stogov
f9518c3850
Fixed incorrect narrowing to double
...
Fixes oss-fuzz #41223
2021-11-25 15:14:04 +03:00
Dmitry Stogov
35786e321b
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fixed incorrect refcountion inference for BW_NOT
2021-11-25 13:53:35 +03:00
Dmitry Stogov
ecc4d1326b
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fixed incorrect refcountion inference for BW_NOT
2021-11-25 13:53:26 +03:00
Dmitry Stogov
3c53a9fd73
Fixed incorrect refcountion inference for BW_NOT
...
BW_NOT for emtpy string returns empty string
Fixes oss-fuzz #41280
2021-11-25 13:51:56 +03:00
Dmitry Stogov
40b258fb78
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fixed incorrect DCE for ADD_ARRAY_ELEMENT instruction
2021-11-25 13:36:04 +03:00
Dmitry Stogov
97f0c0b189
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fixed incorrect DCE for ADD_ARRAY_ELEMENT instruction
2021-11-25 13:35:54 +03:00
Dmitry Stogov
f302430c72
Fixed incorrect DCE for ADD_ARRAY_ELEMENT instruction
...
DCE might remove INIT_ARRAY instruction but then keep the related
ADD_ARRAY_ELEMENT, becuse its both operands need to be freed.
Fixes oss-fuzz #41309
2021-11-25 13:33:26 +03:00
Dylan T
4b9a4c4a6d
Update include_userstream_002.phpt
2021-11-25 10:33:25 +01:00