Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
d276ea5
Skip tests if ldap_set_rebind_proc() is not available
cmb69 Nov 6, 2024
fb6d500
Merge branch 'PHP-8.2' into PHP-8.3
cmb69 Nov 7, 2024
6b754d9
Merge branch 'PHP-8.3' into PHP-8.4
cmb69 Nov 7, 2024
59fe79f
Merge branch 'PHP-8.4'
cmb69 Nov 7, 2024
5c76ef7
Fix GH-10992: Improper long path support for relative paths
cmb69 Nov 4, 2024
452c5ac
Fix incorrect filename of dl()'d internal consts (#16721)
iluuu1994 Nov 7, 2024
8a71200
ext/standard/tests/strings/crypt_sha256.phpt: fix on musl
orlitzky Nov 4, 2024
f5d2e7b
ext/standard/tests/crypt/des_fallback_invalid_salt.phpt: less valid salt
orlitzky Nov 4, 2024
4dc0b40
ext/standard/crypt.c: handle musl failure tokens
orlitzky Nov 4, 2024
40997c2
[ci skip] NEWS for GH-16702
arnaud-lb Nov 7, 2024
fb257ee
Upgrade master to Ubuntu 24.04 (GH-16704)
iluuu1994 Nov 7, 2024
93c9c7c
[skip ci] Update to ubuntu 24.04 for asan in nightly
iluuu1994 Nov 7, 2024
e74e66e
Fix oss-fuzz report triggered by GH-15712 commit.
devnexen Sep 16, 2024
3f28644
Merge branch 'PHP-8.2' into PHP-8.3
devnexen Nov 7, 2024
7477c1b
Merge branch 'PHP-8.3' into PHP-8.4
devnexen Nov 7, 2024
600da8c
Merge branch 'PHP-8.4'
devnexen Nov 7, 2024
03eeec1
Fix rename_variation12*.phpt parallel test conflicts
cmb69 Aug 21, 2024
5f5d2c0
Merge branch 'PHP-8.2' into PHP-8.3
cmb69 Nov 7, 2024
e68970d
Merge branch 'PHP-8.3' into PHP-8.4
cmb69 Nov 7, 2024
c1bf3ac
Merge branch 'PHP-8.4'
cmb69 Nov 7, 2024
d8a63a3
ext/standard: Move sort() related tests into subfolder
Girgias Nov 6, 2024
f011684
ext/standard: Split sort tests that contain escape sequences
Girgias Nov 6, 2024
f3b150a
ext/standard: Move array_walk(_recursive)() tests into subfolder
Girgias Nov 6, 2024
875a9dc
Fix introduced leaks from GH-15715.
devnexen Nov 8, 2024
61b4e67
Merge branch 'PHP-8.2' into PHP-8.3
devnexen Nov 8, 2024
5252e8b
Merge branch 'PHP-8.3' into PHP-8.4
devnexen Nov 8, 2024
9216436
Merge branch 'PHP-8.4'
devnexen Nov 8, 2024
3b609ab
[skip ci] Fix asan ubuntu image condition in nightly
iluuu1994 Nov 8, 2024
065bde1
Fix GH-16432: PHP-FPM 8.2 SIGSEGV in fpm_get_status
bukka Oct 23, 2024
af8ebb1
Merge branch 'PHP-8.2' into PHP-8.3
bukka Nov 8, 2024
49bc011
Merge branch 'PHP-8.3' into PHP-8.4
bukka Nov 8, 2024
84400ee
Merge branch 'PHP-8.4'
bukka Nov 8, 2024
27b4df4
Fix 8.4 NEWS file
bukka Nov 8, 2024
efcd720
Merge branch 'PHP-8.4'
bukka Nov 8, 2024
7bbf2ea
[skip ci] Fix array_any() and array_all() descriptions
FraOre Nov 8, 2024
f3203f3
Merge branch 'PHP-8.4'
cmb69 Nov 8, 2024
6e6373a
[skip ci] Fix typo in test name
cmb69 Nov 8, 2024
e5654b7
Merge branch 'PHP-8.4'
cmb69 Nov 8, 2024
73c4fa0
ext/soap: fix `make check` being invoked in `ext/soap`
Ma27 Nov 8, 2024
a85a5ef
Merge branch 'PHP-8.3' into PHP-8.4
ndossche Nov 8, 2024
963511b
Merge branch 'PHP-8.4'
ndossche Nov 8, 2024
a3b27c0
Add Dom\Element::insertAdjacentHTML() (#16614)
ndossche Nov 9, 2024
ac8d0e5
Prevent unexpected array entry conversion when reading key
ndossche Nov 3, 2024
2f4f09f
Fix various memory leaks related to openssl exports
ndossche Nov 3, 2024
994e866
Fix memory leak in php_openssl_pkey_from_zval()
ndossche Nov 3, 2024
591fe92
Merge branch 'PHP-8.2' into PHP-8.3
ndossche Nov 9, 2024
fd68e9b
Merge branch 'PHP-8.3' into PHP-8.4
ndossche Nov 9, 2024
f8f9ac8
Merge branch 'PHP-8.4'
ndossche Nov 9, 2024
10f1f92
Add `ReflectionConstant::getExtension()` and `::getExtensionName()` (…
DanielEScherzer Nov 9, 2024
56bd057
[ci skip] NEWS for ReflectionConstant additions
ndossche Nov 9, 2024
80dd5a0
Fix wrong merge
ndossche Nov 9, 2024
ef1e186
Merge branch 'PHP-8.3' into PHP-8.4
ndossche Nov 9, 2024
cc54e66
Merge branch 'PHP-8.4'
ndossche Nov 9, 2024
3a1a205
Fix GH-16723: CURLMOPT_PUSHFUNCTION issues
cmb69 Nov 8, 2024
9ebbe1e
Merge branch 'PHP-8.4'
cmb69 Nov 9, 2024
c075546
Fail early in *nix configuration build script
hakre Nov 7, 2024
11da498
Merge branch 'PHP-8.2' into PHP-8.3
cmb69 Nov 9, 2024
257387b
Merge branch 'PHP-8.3' into PHP-8.4
cmb69 Nov 9, 2024
f603d9c
Merge branch 'PHP-8.4'
cmb69 Nov 9, 2024
329890c
Fail early in *nix build script
hakre Nov 7, 2024
07d4c54
Merge branch 'PHP-8.4'
cmb69 Nov 9, 2024
54003ae
Fix description of `ReflectionParameter::getPosition()` (GH-16738)
DanielEScherzer Nov 9, 2024
89e750a
Fix macOS CI
ndossche Nov 9, 2024
72c0222
Fix GH-16695: phar:// tar parser and zero-length file header blocks
ndossche Nov 4, 2024
58f4b45
Merge branch 'PHP-8.2' into PHP-8.3
ndossche Nov 9, 2024
c6d7d07
Merge branch 'PHP-8.3' into PHP-8.4
ndossche Nov 9, 2024
37d53d5
Merge branch 'PHP-8.4'
ndossche Nov 9, 2024
d87f3ff
[ci skip] Add credit for test
ndossche Nov 9, 2024
f97353f
Merge branch 'PHP-8.2' into PHP-8.3
ndossche Nov 9, 2024
896eb80
Merge branch 'PHP-8.3' into PHP-8.4
ndossche Nov 9, 2024
4e21e80
Merge branch 'PHP-8.4'
ndossche Nov 9, 2024
62e53e6
Inline and remove `reflection_instantiate()` (#16739)
DanielEScherzer Nov 9, 2024
92132c8
bump ci
hakre Nov 9, 2024
5db9723
bump ci (2)
hakre Nov 10, 2024
a342071
Try paths-ignore (& for anchoring and * for aliasing)
hakre Nov 10, 2024
e138f45
Counter test openldap in list
hakre Nov 10, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .github/actions/apt-x32/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,11 @@ runs:
libsodium-dev:i386 \
libsqlite3-dev:i386 \
libssl-dev:i386 \
libtidy-dev:i386 \
libwebp-dev:i386 \
libxml2-dev:i386 \
libxml2-dev:i386 \
libxpm-dev:i386 \
libxslt1-dev:i386 \
libzip-dev:i386 \
locales \
make \
pkg-config:i386 \
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/brew/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ runs:

# Some packages exist on x86 but not arm, or vice versa.
# Install them with reinstall to avoid warnings.
brew reinstall autoconf webp tidy-html5 libzip libsodium icu4c
brew reinstall autoconf webp tidy-html5 libzip libsodium icu4c curl
brew install \
bison \
re2c
Expand Down
1 change: 1 addition & 0 deletions .github/actions/configure-macos/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ runs:
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$BREW_OPT/libxslt/lib/pkgconfig"
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$BREW_OPT/zlib/lib/pkgconfig"
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$BREW_OPT/icu4c/lib/pkgconfig"
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$BREW_OPT/openldap/lib/pkgconfig"
./buildconf --force
./configure \
--enable-option-checking=fatal \
Expand Down
3 changes: 1 addition & 2 deletions .github/actions/configure-x32/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ runs:
run: |
set -x

export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib/i386-linux-gnu/pkgconfig"
./buildconf --force
export CFLAGS="-m32 -msse2"
export CXXFLAGS="-m32 -msse2"
Expand All @@ -33,12 +34,10 @@ runs:
--with-freetype \
--with-xpm \
--enable-exif \
--with-zip \
--with-zlib \
--enable-soap \
--enable-xmlreader \
--with-xsl \
--with-tidy \
--enable-sysvsem \
--enable-sysvshm \
--enable-shmop \
Expand Down
19 changes: 5 additions & 14 deletions .github/workflows/push.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: Push
on:
push:
paths-ignore:
paths-ignore: &paths-ignore
- docs/**
- NEWS
- UPGRADING
Expand All @@ -18,16 +18,7 @@ on:
- PHP-8.4
- master
pull_request:
paths-ignore:
- docs/**
- NEWS
- UPGRADING
- UPGRADING.INTERNALS
- '**/README.*'
- CONTRIBUTING.md
- CODING_STANDARDS.md
- .cirrus.yml
- .circleci/**
paths-ignore: *paths-ignore
branches:
- '**'
workflow_dispatch: ~
Expand Down Expand Up @@ -78,7 +69,7 @@ jobs:
zts: true
asan: true
name: "LINUX_X64_${{ matrix.debug && 'DEBUG' || 'RELEASE' }}_${{ matrix.zts && 'ZTS' || 'NTS' }}${{ matrix.asan && '_ASAN' || '' }}"
runs-on: ubuntu-${{ !matrix.asan && '22' || '24' }}.04
runs-on: ubuntu-24.04
timeout-minutes: 50
steps:
- name: git checkout
Expand Down Expand Up @@ -142,7 +133,7 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 50
container:
image: ubuntu:20.04
image: ubuntu:24.04
env:
MYSQL_TEST_HOST: mysql
PDO_MYSQL_TEST_DSN: mysql:host=mysql;dbname=test
Expand Down Expand Up @@ -255,7 +246,7 @@ jobs:
BENCHMARKING:
name: BENCHMARKING
if: github.repository == 'php/php-src' || github.event_name == 'pull_request'
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
timeout-minutes: 50
steps:
- name: git checkout
Expand Down
9 changes: 7 additions & 2 deletions .github/workflows/root.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,12 +46,17 @@ jobs:
matrix:
branch: ${{ fromJson(needs.GENERATE_MATRIX.outputs.branches) }}
with:
asan_ubuntu_version: '20.04'
asan_ubuntu_version: ${{
(((matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 5) || matrix.branch.version[0] >= 9) && '24.04')
|| '20.04' }}
branch: ${{ matrix.branch.ref }}
community_verify_type_inference: ${{ (matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 4) || matrix.branch.version[0] >= 9 }}
libmysqlclient_with_mysqli: ${{ (matrix.branch.version[0] == 8 && matrix.branch.version[1] == 1) }}
run_alpine: ${{ (matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 4) || matrix.branch.version[0] >= 9 }}
run_macos_arm64: ${{ (matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 4) || matrix.branch.version[0] >= 9 }}
ubuntu_version: ${{ ((matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 3) || matrix.branch.version[0] >= 9) && '22.04' || '20.04' }}
ubuntu_version: ${{
(((matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 5) || matrix.branch.version[0] >= 9) && '24.04')
|| ((matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 3) && '22.04')
|| '20.04' }}
windows_version: ${{ ((matrix.branch.version[0] == 8 && matrix.branch.version[1] >= 4) || matrix.branch.version[0] >= 9) && '2022' || '2019' }}
secrets: inherit
13 changes: 13 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ PHP NEWS

- DOM:
. Added Dom\Element::$outerHTML. (nielsdos)
. Added Dom\Element::insertAdjacentHTML(). (nielsdos)

- Output:
. Fixed calculation of aligned buffer size. (cmb)
Expand All @@ -36,10 +37,22 @@ PHP NEWS
- Random:
. Moves from /dev/urandom usage to arc4random_buf on Haiku. (David Carlier)

- Reflection:
. Added ReflectionConstant::getExtension() and ::getExtensionName().
(DanielEScherzer)

- SOAP:
. Fixed bug #49169 (SoapServer calls wrong function, although "SOAP action"
header is correct). (nielsdos)

- Standard:
. Fixed crypt() tests on musl when using --with-external-libcrypt
(Michael Orlitzky).

- Windows:
. Fixed bug GH-10992 (Improper long path support for relative paths). (cmb,
nielsdos)

- XMLWriter:
. Improved performance and reduce memory consumption. (nielsdos)

Expand Down
5 changes: 5 additions & 0 deletions UPGRADING
Original file line number Diff line number Diff line change
Expand Up @@ -92,13 +92,18 @@ PHP 8.5 UPGRADE NOTES
attached to a CurlMultiHandle. This includes both handles added using
curl_multi_add_handle() and handles accepted by CURLMOPT_PUSHFUNCTION.

- DOM:
. Added Dom\Element::insertAdjacentHTML().

- PGSQL:
. pg_close_stmt offers an alternative way to close a prepared
statement from the DEALLOCATE sql command in that we can reuse
its name afterwards.

- Reflection:
. ReflectionConstant::getFileName() was introduced.
. ReflectionConstant::getExtension() and
ReflectionConstant::getExtensionName() were introduced.

========================================
7. New Classes and Interfaces
Expand Down
11 changes: 6 additions & 5 deletions Zend/zend_constants.c
Original file line number Diff line number Diff line change
Expand Up @@ -504,11 +504,12 @@ ZEND_API zend_result zend_register_constant(zend_constant *c)
name = c->name;
}

zend_string *filename = zend_get_executed_filename_ex();
if (filename == NULL) {
c->filename = NULL;
} else {
c->filename = zend_string_copy(filename);
c->filename = NULL;
if (ZEND_CONSTANT_MODULE_NUMBER(c) == PHP_USER_CONSTANT) {
zend_string *filename = zend_get_executed_filename_ex();
if (filename) {
c->filename = zend_string_copy(filename);
}
}

/* Check if the user is trying to define any special constant */
Expand Down
7 changes: 7 additions & 0 deletions Zend/zend_portability.h
Original file line number Diff line number Diff line change
Expand Up @@ -515,6 +515,13 @@ extern "C++" {
# undef HAVE_FUNC_ATTRIBUTE_IFUNC
#endif

#if __has_feature(memory_sanitizer)
# include <sanitizer/msan_interface.h>
# define MSAN_UNPOISON(value) __msan_unpoison(&(value), sizeof(value))
#else
# define MSAN_UNPOISON(value)
#endif

/* Only use ifunc resolvers if we have __builtin_cpu_supports() and __builtin_cpu_init(),
* otherwise the use of zend_cpu_supports() may not be safe inside ifunc resolvers. */
#if defined(HAVE_FUNC_ATTRIBUTE_IFUNC) && defined(HAVE_FUNC_ATTRIBUTE_TARGET) && \
Expand Down
15 changes: 11 additions & 4 deletions Zend/zend_strtod.c
Original file line number Diff line number Diff line change
Expand Up @@ -3605,13 +3605,20 @@ rv_alloc(i) int i;
rv_alloc(int i)
#endif
{
int k, *r;

size_t j = sizeof(ULong);
int j, k, *r;
size_t rem;

rem = sizeof(Bigint) - sizeof(ULong) - sizeof(int);


j = sizeof(ULong);
if (i > ((INT_MAX >> 2) + rem))
i = (INT_MAX >> 2) + rem;
for(k = 0;
sizeof(Bigint) - sizeof(ULong) - sizeof(int) + j <= (size_t)i;
j <<= 1)
rem + j <= (size_t)i; j <<= 1)
k++;

r = (int*)Balloc(k);
*r = k;
return
Expand Down
2 changes: 1 addition & 1 deletion build/genif.sh
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ header_list=
olddir=$(pwd)

# Go to project root.
cd $(CDPATH= cd -- "$(dirname -- "$0")/../" && pwd -P)
cd "$(CDPATH='' cd -- "$(dirname -- "$0")/../" && pwd -P)" || exit

module_ptrs="$(echo $extensions | $AWK -f ./build/order_by_dep.awk)"

Expand Down
4 changes: 2 additions & 2 deletions buildconf
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ force=0
debug=0

# Go to project root.
cd $(CDPATH= cd -- "$(dirname -- "$0")" && pwd -P)
cd "$(CDPATH='' cd -- "$(dirname -- "$0")" && pwd -P)" || exit

php_extra_version=$(grep '^AC_INIT(' configure.ac)
php_extra_version=$(grep '^AC_INIT(' configure.ac) || exit
case "$php_extra_version" in
*-dev*)
dev=1
Expand Down
6 changes: 3 additions & 3 deletions ext/curl/interface.c
Original file line number Diff line number Diff line change
Expand Up @@ -1283,13 +1283,13 @@ void _php_setup_easy_copy_handlers(php_curl *ch, php_curl *source)
ch->handlers.read->res = source->handlers.read->res;

if (ZEND_FCC_INITIALIZED(source->handlers.read->fcc)) {
zend_fcc_dup(&source->handlers.read->fcc, &source->handlers.read->fcc);
zend_fcc_dup(&ch->handlers.read->fcc, &source->handlers.read->fcc);
}
if (ZEND_FCC_INITIALIZED(source->handlers.write->fcc)) {
zend_fcc_dup(&source->handlers.write->fcc, &source->handlers.write->fcc);
zend_fcc_dup(&ch->handlers.write->fcc, &source->handlers.write->fcc);
}
if (ZEND_FCC_INITIALIZED(source->handlers.write_header->fcc)) {
zend_fcc_dup(&source->handlers.write_header->fcc, &source->handlers.write_header->fcc);
zend_fcc_dup(&ch->handlers.write_header->fcc, &source->handlers.write_header->fcc);
}

curl_easy_setopt(ch->cp, CURLOPT_ERRORBUFFER, ch->err.str);
Expand Down
2 changes: 1 addition & 1 deletion ext/curl/tests/bug77535.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Bug #77535 (Invalid callback, h2 server push)
--EXTENSIONS--
curl
--XLEAK--
--XFAIL--
--SKIPIF--
<?php
include 'skipif-nocaddy.inc';
Expand Down
3 changes: 2 additions & 1 deletion ext/curl/tests/curl_pushfunction_trampoline.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
Test trampoline for curl option CURLMOPT_PUSHFUNCTION
--EXTENSIONS--
curl
--XLEAK--
--XFAIL--
--SKIPIF--
<?php
include 'skipif-nocaddy.inc';
Expand Down Expand Up @@ -60,6 +60,7 @@ sort($responses);
print_r($responses);
?>
--EXPECT--
Trampoline for trampoline
Array
(
[0] => main response
Expand Down
2 changes: 2 additions & 0 deletions ext/dl_test/dl_test.c
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,8 @@ PHP_MINIT_FUNCTION(dl_test)
fprintf(stderr, "DL TEST MINIT\n");
}

register_dl_test_symbols(module_number);

return SUCCESS;
}
/* }}} */
Expand Down
3 changes: 3 additions & 0 deletions ext/dl_test/dl_test.stub.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,6 @@
function dl_test_test1(): void {}

function dl_test_test2(string $str = ""): string {}

/** @var int */
const DL_TEST_CONST = 42;
7 changes: 6 additions & 1 deletion ext/dl_test/dl_test_arginfo.h

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading