1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 08:12:21 +01:00
Commit Graph

144962 Commits

Author SHA1 Message Date
David Carlier
f037d49bb8 Merge branch 'PHP-8.5'
* PHP-8.5:
  Fix GH-21161: socket_set_option() crash with array 'addr' entry as null.
2026-02-09 19:27:40 +00:00
David Carlier
1ff5eb448a Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  Fix GH-21161: socket_set_option() crash with array 'addr' entry as null.
2026-02-09 19:27:29 +00:00
David Carlier
19ee3e6697 Fix GH-21161: socket_set_option() crash with array 'addr' entry as null.
in the ipv6 address creation helper we need to use, for the error
message, the converted data rather than assuming the original
is a proper zend_string().

close GH-21166
2026-02-09 19:26:48 +00:00
Arshid
95fb174730 [skip ci] Remove dead code in Zend/zend_multiply.h after zend_error_noreturn() (GH-21153) 2026-02-09 15:13:58 +01:00
Jorg Adam Sowa
29cd577aa6 ci: Add fork protection to workflow verify-bundled-files (GH-21171) 2026-02-09 15:12:05 +01:00
Ilija Tovilo
8bb2312fc5 Merge branch 'PHP-8.5'
* PHP-8.5:
  Improve shared_alloc_shm.c strategy to support OPcache JIT on Solaris
2026-02-09 14:59:04 +01:00
Ilija Tovilo
81de7b964f Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  Improve shared_alloc_shm.c strategy to support OPcache JIT on Solaris
2026-02-09 14:58:57 +01:00
Petr Sumbera
7c6f08945f Improve shared_alloc_shm.c strategy to support OPcache JIT on Solaris
The SysV shared memory allocator in OPcache hardcodes a maximum segment size of
32MB (SEG_ALLOC_SIZE_MAX). If the JIT buffer exceeds this, which it does with
the default 64MB size, startup will fail with "Insufficient shared memory!".

The allocator will now try allocating a contiguous buffer first, and only then
use segmentation by searching for continuously smaller powers of 2.

Fixes GH-20718
Closes GH-20719
2026-02-09 14:58:13 +01:00
Ilija Tovilo
fcff846a73 Fix borked FETCH_W+ZEND_FETCH_GLOBAL_LOCK optimization (GH-21121)
Fixes OSS-Fuzz #481014628
Introduced in GH-20628

Co-authored-by: Arnaud Le Blanc <365207+arnaud-lb@users.noreply.github.com>
2026-02-09 13:22:35 +01:00
Gina Peter Banyard
e1b2f1f5cb ext/session: move variable initialization out of if condition 2026-02-09 12:11:04 +00:00
Gina Peter Banyard
8af056206e ext/session: add const qualifiers 2026-02-09 12:11:04 +00:00
Gina Peter Banyard
cc304d14ab ext/session: refactor bin_to_readable() 2026-02-09 12:11:04 +00:00
Gina Peter Banyard
ca08e5f7fe ext/session: reduce scope of variables 2026-02-09 12:11:04 +00:00
Gina Peter Banyard
9026396c26 ext/session: simplify php_session_reset() 2026-02-09 12:11:04 +00:00
Gina Peter Banyard
888b393d2f ext/session: fix typo in comment 2026-02-09 12:11:04 +00:00
Gina Peter Banyard
71096cd873 ext/session: use zend_strings for open handler 2026-02-09 10:49:59 +00:00
Gina Peter Banyard
ba17532fed ext/session: use known 1 char zend_string to update boolean INI setting 2026-02-09 10:49:59 +00:00
Gina Peter Banyard
f6088f574c ext/session: remove session_adapt_url() function
This is unused and only exist for the deprecated (and dangerous) GET/POST session ID feature
2026-02-09 10:49:59 +00:00
Gina Peter Banyard
1041a47ed3 ext/standard: throw ValueError if argument contains null byte in session_module_name()
And fix error message to use 'must not' rather than 'cannot'
2026-02-09 10:49:59 +00:00
Gina Peter Banyard
a0de1ace41 ext/session: refactor session_write_close()
By making the underlying function return a bool and not do duplicate checks
2026-02-09 10:49:59 +00:00
Gina Peter Banyard
8926dc0140 ext/session: refactor session_reset()
By making the underlying function return a bool and not do duplicate checks
2026-02-09 10:49:59 +00:00
Gina Peter Banyard
a9496bdc22 ext/session: refactor session_abort()
By making the underlying function return a bool and not do duplicate checks
2026-02-09 10:49:59 +00:00
Gina Peter Banyard
a8bdfa665b ext/session: remove mod_user_class_name global 2026-02-09 10:49:59 +00:00
Ilija Tovilo
96be28cb0e Merge branch 'PHP-8.5'
* PHP-8.5:
  [CI] Use MySQL LTS version
2026-02-08 17:00:53 +01:00
Ilija Tovilo
d992576abc Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  [CI] Use MySQL LTS version
2026-02-08 17:00:28 +01:00
Ilija Tovilo
2cabea66b3 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  [CI] Use MySQL LTS version
2026-02-08 17:00:20 +01:00
Ilija Tovilo
44b0b14ae0 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  [CI] Use MySQL LTS version
2026-02-08 17:00:11 +01:00
武田 憲太郎
2a3e970d4c [CI] Use MySQL LTS version
Update the MySQL version used in CI from 8.3 to 8.4, the current MySQL LTS
release. CI has been using MySQL 8.3 due to a MySQL-side bug that caused test
failures (see GH-14112, GH-14113, GH-14120). That issue has now been fixed
upstream in MySQL 8.4.8.

References:

* MySQL 8.4.8 release notes (pluggable authentication fix):
  https://dev.mysql.com/doc/relnotes/mysql/8.4/en/news-8-4-8.html#mysqld-8-4-8-pluggable-auth
* MySQL bug tracker:
  https://bugs.mysql.com/bug.php?id=114876#c555902
* Docker image availability:
  https://hub.docker.com/_/mysql/tags?name=8.4

Closes GH-21154
2026-02-08 16:54:00 +01:00
Jorg Adam Sowa
0e0f5476cf [skip ci] Remove PHP-8.1 from push.yml triggers (GH-21157) 2026-02-08 16:49:40 +01:00
Ilija Tovilo
fcb50e4d62 Merge branch 'PHP-8.5'
* PHP-8.5:
  Fix OSS-Fuzz #478009707 for JIT
2026-02-08 16:47:06 +01:00
Ilija Tovilo
ba6df41144 Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  Fix OSS-Fuzz #478009707 for JIT
2026-02-08 16:46:52 +01:00
Ilija Tovilo
bbde9c8178 Fix OSS-Fuzz #478009707 for JIT
This issue was already fixed in GH-21124, but some JIT paths were missing.

Closes GH-21151
2026-02-08 16:46:08 +01:00
David Carlier
52e9436629 [ci skip] ext/posix: forgotten UPGRADING notes for posix_access()/posix_mkfifo(). 2026-02-06 12:56:29 +00:00
arshidkv12
6bd97e72b7 ext/posix: validate permissions argument in posix_mkfifo()
close GH-21102
2026-02-06 12:51:18 +00:00
Arshid
d3e4703310 [standard] Simply if -> RETURN_TRUE/FALSE with RETURN_BOOL() (GH-21147) 2026-02-06 10:12:33 +01:00
Arshid
51158bbe90 [win32] Use RETURN_BOOL() in sapi_windows_set_ctrl_handler() (GH-21148) 2026-02-06 10:09:40 +01:00
Arshid
f0d321e947 [mysqli] Simply if -> RETURN_TRUE/FALSE with RETURN_BOOL() (GH-21149) 2026-02-06 10:07:54 +01:00
Arshid
daa3513c32 ext/pgsql: pg_lo_export/pg_connection_reset returning a boolean value using RETURN_BOOL (#21150) 2026-02-06 06:59:33 +00:00
arshidkv12
fdaa488144 ext/posix: validity check for flags argument in posix_access
close GH-21104
2026-02-06 05:51:28 +00:00
Gina Peter Banyard
31b0055557 ext/session: add const qualifiers 2026-02-06 01:18:46 +00:00
Gina Peter Banyard
3a142e77ee ext/session: remove unused progress parameter in early_find_sid_in() 2026-02-06 01:18:46 +00:00
Gina Peter Banyard
b657deffc7 ext/session: remove unused macros
This deletes the PS_ADD_VARL(), PS_ADD_VAR(), and PS_DEL_VARL() macros.
2026-02-06 01:18:46 +00:00
Gina Peter Banyard
a2c6e6f66a ext/session: remove PS_ENCODE_VARS
By moving the declaration of the variables inside PS_ENCODE_LOOP() macro.
2026-02-06 01:18:46 +00:00
Arshid
10fb64fed7 ext/readline: readline_read_history/readline_write_history returning a boolean value using RETURN_BOOL (#21140) 2026-02-05 18:23:18 +00:00
Arshid
d84ad6a532 ext/gd: remove _php_image_output unused argument (#21138) 2026-02-05 17:52:42 +00:00
ndossche
46e8cb9ff4 Merge branch 'PHP-8.5'
* PHP-8.5:
  Fix timezone offset with seconds losing precision
2026-02-05 18:39:22 +01:00
ndossche
e76044aa0b Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  Fix timezone offset with seconds losing precision
2026-02-05 18:39:18 +01:00
Niels Dossche
ee26417b58 Fix timezone offset with seconds losing precision
There are two issues:
1. The 'e' formatter doesn't output the seconds of the timezone even if
   it has seconds.
2. var_dump(), (array) cast, serialization, ... don't include the
   timezone second offset in the output. This means that, for example,
   serializing and then unserializing a date object loses the seconds of
   the timezone. This can be observed by comparing the output of
   getTimezone() for `$dt` vs the unserialized object in the provided test.

Closes GH-20764.
2026-02-05 18:38:54 +01:00
Arshid
dcf5cd9195 ext/dom: Returning a boolean value using RETURN_BOOL (#21141) 2026-02-05 17:31:53 +01:00
Gina Peter Banyard
542175ecfa ext/standard: mark ext/random as a required dependency (#21130)
As the shuffle() and array_rand() functions use part of the Random API
2026-02-05 16:09:54 +00:00