1
0
mirror of https://github.com/php/php-src.git synced 2026-04-19 14:01:01 +02:00
Commit Graph

127147 Commits

Author SHA1 Message Date
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
Nikita Popov
f0dd79a7e4 Optimize ArrayAccess method lookup
While these currently aren't cached in the class entry, we can
at least save us a lowercasing and hash calculation of the method
name.
2021-11-28 13:06:17 +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
Jakub Zelenka
c4a1c0c18c Merge branch 'PHP-8.1' 2021-11-27 22:43:37 +00:00
Jakub Zelenka
a529d0dd15 Merge branch 'PHP-8.0' into PHP-8.1 2021-11-27 22:39:51 +00:00
Jakub Zelenka
81513e6285 Add skip for FPM process idle flaky test 2021-11-27 22:37:43 +00:00
Patrick Allaert
99d130acbc Reordering non bug entries 2021-11-27 13:18:59 +01:00
Patrick Allaert
75546bdef2 Standardize: Fixed Bug -> Fixed bug 2021-11-27 13:13:26 +01:00
Patrick Allaert
7f7f91536f Placing core changes before anything else 2021-11-27 13:05:02 +01:00
Patrick Allaert
c459625df0 Removed placeholder from NEWS 2021-11-27 13:00:00 +01:00
Patrick Allaert
4e3192dd3c Fixed misplaced PgSQL NEWS entry 2021-11-27 12:59:28 +01:00
Patrick Allaert
22756f56b2 Sorting and standardize NEWS entries 2021-11-27 12:54:14 +01:00
Patrick Allaert
ac96db6767 Preparing for 8.1.1 2021-11-27 11:06:14 +01: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
Nikita Popov
b5833b6ee3 Merge branch 'PHP-8.1'
* PHP-8.1:
  Disable enchant on azure i386
2021-11-26 11:04:54 +01:00
Nikita Popov
f55f234fb0 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Disable enchant on azure i386
2021-11-26 11:04:40 +01:00
Nikita Popov
5f67b9fb43 Merge branch 'PHP-7.4' into PHP-8.0
* PHP-7.4:
  Disable enchant on azure i386
2021-11-26 11:04:29 +01:00
Nikita Popov
c2d6d837ca Disable enchant on azure i386
The i386 libenchant library no longer installs without conflicts,
so drop i386 testing for this extension.
2021-11-26 11:03:32 +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] <d144199dfb>

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