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

128856 Commits

Author SHA1 Message Date
Michael Voříšek
f26f6d9479 Add test for backtrace with aliased trait (#8705) 2022-06-30 19:59:33 +02:00
Javier Eguiluz
14ced88c17 [ci skip] Fix typo (anough → enough)
Closes GH-8901.
2022-06-30 17:27:39 +02:00
George Peter Banyard
9a7d37ac66 Use size_t for get_ps_title() length parameter 2022-06-30 13:23:13 +01:00
George Peter Banyard
b468d6fb54 Use bool and rename variable for ease of comprehension in ps_title.c 2022-06-30 13:23:13 +01:00
Dmitry Stogov
4c37b74c28 Add NEWS entry 2022-06-30 10:52:20 +03:00
Dmitry Stogov
17aa81a5e2 Allocate JIT bufer close to PHP .text segment to allow using direct IP-relative calls and jumps (#8890)
This implementation is based on https://github.com/php/php-src/pull/8618 developed by Su Tao, Wang Xue, Chen Hu and Lizhen Lizhen.
2022-06-30 10:49:24 +03:00
David Carlier
7ceae66182 streams/xp_socket: fix clang build error with enum usage on bool condition.
Fix targeted for oses defining those flags as enums (like Linux/glibc).

`error: converting the enum constant to a boolean [-Werror,-Wint-in-bool-context]
                                } else if ((!sslsock->ssl_active && value == 0 && (MSG_DONTWAIT || !sslsock->s.is_blocked)) ||`

Closes #8895.
2022-06-30 05:45:33 +01:00
twosee
b09420e3a8 Fix zend_atomic_bool_exchange_ex() in HAVE_NO_ATOMICS case (#8801) 2022-06-30 11:54:47 +08:00
Max Kellermann
e2bd3b1e99 main/streams/plain_wrapper: skip lseek(SEEK_CUR) for newly opened files
A file that has just been opened is known to be at offset zero, and
the lseek(SEEK_CUR) system call to determine the current offset can be
skipped.

Closes #8540.
2022-06-29 18:11:01 +01:00
Michael Voříšek
c756e978c4 Improve tests on 32bit
The watch_*.phpt test apparently no longer fail on 32bit, so we remove
the XFAIL conditions.  bug77269.phpt is practically identical to
bug77272.phpt, and there seems no particular reason to have an
additional test for libgd ≤ 2.2.5.

Closes GH-8448.
2022-06-29 14:04:40 +02:00
Dmitry Stogov
e01586ac4f Merge branch 'PHP-8.1'
* PHP-8.1:
  Fix incorrect condition introdused in 7cf6f17383
2022-06-29 13:09:22 +03:00
Dmitry Stogov
af75eab0ef Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix incorrect condition introdused in 7cf6f17383
2022-06-29 13:09:14 +03:00
Dmitry Stogov
d66d477d6f Fix incorrect condition introdused in 7cf6f17383 2022-06-29 13:08:18 +03:00
Dmitry Stogov
7e32033331 Merge branch 'PHP-8.1'
* PHP-8.1:
  Fixed bug GH-8847 (PHP hanging infinitly at 100% cpu when check php syntaxe of a valid file)
2022-06-29 12:16:20 +03:00
Dmitry Stogov
b7693360cb Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fixed bug GH-8847 (PHP hanging infinitly at 100% cpu when check php syntaxe of a valid file)
2022-06-29 12:13:03 +03:00
Dmitry Stogov
7cf6f17383 Fixed bug GH-8847 (PHP hanging infinitly at 100% cpu when check php syntaxe of a valid file) 2022-06-29 12:10:46 +03:00
George Peter Banyard
9bae9ab3a4 Fix GH-8861: correctly handle string lengths in SplFileinfo methods (#8869)
* Fix GH-8861: correctly handle string lengths in \SplFileinfo::getBasename

Co-authored-by: M. Vondano <m-vo@users.noreply.github.com>
2022-06-28 15:42:59 +01:00
Remi Collet
63c7418b91 [ci skip] NEWS and UPGRADING 2022-06-28 15:19:56 +02:00
Remi Collet
2223853c58 implement fseek for zip stream when possible with libzip 1.9.1 2022-06-28 15:17:27 +02:00
Chen, Hu
d8de067b0f JIT: Add IBT support (#8774)
Indirect Branch Tracking (IBT) is part of Intel's Control-Flow
Enforcement Technology (CET). IBT is hardware based, forward edge
Control-Flow-Integrity mechanism where any indirect CALL/JMP must target
an ENDBR instruction or suffer #CP.

This commit adds IBT support for JIT:
1. Add endbr32/64 instruction in Dynasm.
2. Insert endbr32/64 in indirect branch target for jitted code.

gcc support CET since v8.1 and set it to default since gcc 11. With this
commit, endbr is inserted in jitted code if PHP is compiled with "gcc
-fcf-protection=full/branch".

Signed-off-by: Chen, Hu <hu1.chen@intel.com>
2022-06-28 08:42:19 +03:00
David Carlier
da523060fb Merge branch 'PHP-8.1' 2022-06-27 23:36:54 +01:00
David Carlier
3eead43b6d Merge branch 'PHP-8.0' into PHP-8.1 2022-06-27 23:36:05 +01:00
Heiko Weber
325ca31dcf FPM: zlog, fix free on wrong address for message prepend. 2022-06-27 23:34:58 +01:00
Christoph M. Becker
84c160dd90 Increase test portability
The test as is can only work if com_dotnet is built dynamically, and
not already loaded via the php.ini file.  While this is given on
AppVeyor, it may not be given in other environments.

Closes GH-8879.
2022-06-27 17:12:42 +02:00
Dmitry Stogov
f0cae1acc1 Merge branch 'PHP-8.1'
* PHP-8.1:
  Fixed Bug GH-8863: RW operation on readonly property doesn't throw with JIT
2022-06-27 16:42:36 +03:00
Dmitry Stogov
7e23c838e2 Fixed Bug GH-8863: RW operation on readonly property doesn't throw with JIT 2022-06-27 16:41:53 +03:00
Dmitry Stogov
ad40fffd36 Fixed Bug GH-8863: RW operation on readonly property doesn't throw with JIT 2022-06-27 14:25:30 +03:00
David CARLIER
bf29ee6917 Add reallocarray implementation.
In a similar model as _safe_*alloc api but for the `userland` it guards
against overflow before (re)allocation, usage concealed in fpm for now.
Modern Linux and most of BSD already have it.
Closes #8871.
2022-06-26 13:10:13 +01:00
Ilija Tovilo
3b92a96610 Convert return type of various object handlers from int to zend_result (#8755) 2022-06-26 01:00:19 +02:00
Derick Rethans
30cc0c1742 Merge branch 'PHP-8.1' 2022-06-25 17:53:33 +01:00
Derick Rethans
49a3cc63dd Merge branch 'PHP-8.0' into PHP-8.1 2022-06-25 17:53:26 +01:00
Derick Rethans
7166932bab Merge remote-tracking branch 'derickr/bug80047' into PHP-8.0 2022-06-25 17:52:56 +01:00
Derick Rethans
973c3f6e24 Fixed #80047: DatePeriod doesn't warn with custom DateTimeImmutable 2022-06-25 17:52:14 +01:00
Ilija Tovilo
76fcd70c13 Fix enum preloading again (#8859) 2022-06-25 14:55:46 +02:00
David Carlier
42c57123e9 Merge branch 'PHP-8.1' 2022-06-25 07:40:19 +01:00
David Carlier
af6325f68e Merge branch 'PHP-8.0' into PHP-8.1 2022-06-25 07:39:55 +01:00
Grégoire Paris
13f55d5c1b Use proper grammar in error message
Drop period in error messages

2 reasons:
- These error messages are not regular sentences.
- Having the offending value between parenthesis after the period looks weird.
Closes GH-8858.
2022-06-25 07:39:31 +01:00
Ilija Tovilo
982d8fd19b Merge branch 'PHP-8.1'
* PHP-8.1:
  Add test coverage job
2022-06-24 15:11:56 +02:00
Ilija Tovilo
fa6953d307 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Add test coverage job
2022-06-24 15:11:33 +02:00
George Peter Banyard
20638dba3f Use the passed 'this' pointer instead of ZEND_THIS (#8854)
Removes the horrible hack usage of defining execute_data to be able to use ZEND_THING
2022-06-24 03:38:29 +01:00
Ilija Tovilo
b7f0950ffe Add test coverage job 2022-06-24 00:19:35 +02:00
Ilija Tovilo
bc03deec27 Fix magic constants in backed enum values
Fix GH-8777
2022-06-23 19:17:44 +02:00
Ilija Tovilo
d9e1871c85 Fix leak of backed_enum_table with preloading 2022-06-23 19:17:44 +02:00
Ilija Tovilo
912c22cca0 Fix segfault when using preloaded enums 2022-06-23 19:17:44 +02:00
Ilija Tovilo
45210b4729 Fix segfault when calling from/tryFrom on empty enum 2022-06-23 19:17:44 +02:00
Ilija Tovilo
50a3cb7cea Get rid of duplicated rotr3 implementation (#8853) 2022-06-23 19:09:48 +02:00
Ilija Tovilo
1453dde423 Remove zend_shared_alloc_pages declaration that was never implemented (#8852) 2022-06-23 19:08:44 +02:00
Máté Kocsis
56137cd26e Declare ext/mbstring constants in stubs (#8798) 2022-06-23 17:34:08 +02:00
Ilija Tovilo
cda7e8f1ec Replace another hard-coded line number 2022-06-23 16:48:17 +02:00
Ilija Tovilo
9bfdfcac8f Replace more hard-coded line numbers 2022-06-23 16:28:42 +02:00