History log of /php-src/NEWS (Results 1 – 25 of 15393)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# c9eafc19 25-Oct-2024 Christoph M. Becker

Fix GH-16450: PDO_ODBC can inject garbage into field values

A previous bug fix[1] relied on ODBC drivers to properly count down the
`StrLen_or_IndPtr` argument for consecutive calls to `

Fix GH-16450: PDO_ODBC can inject garbage into field values

A previous bug fix[1] relied on ODBC drivers to properly count down the
`StrLen_or_IndPtr` argument for consecutive calls to `SQLGetData()`.
Apparently, not all drivers handle this correctly, so we cannot assert
they do. Instead we fall back to the old behavior for drivers which
would violate the assertion.

A test against SQLServer (which we currently use in CI) would not make
sense, since the respective drivers do not exhibit that behavior.
Instead we target the regression test especially to a MS Access
database.

Since there is apparently no way to easily create an MS Access database
programmatically, we commit a minimal empty DB which is used for the
regression test, and could also be used by other test cases.

[1] <bccca0b53aa60a62e2988c750fc73c02d109e642>

Closes GH-16587.

show more ...


# 54a40f3b 10-Oct-2024 Arnaud Le Blanc

Add ReflectionProperty::isLazy()

Closes GH-16342


# 3d3b22dd 29-Oct-2024 Arnaud Le Blanc

Fix assertion failure in zend_std_read_property

We asserted that Z_PROP_FLAG_P(retval) was exactly IS_PROP_UNINIT, but this is a
bit field and it may contain irrelevant bits. For instanc

Fix assertion failure in zend_std_read_property

We asserted that Z_PROP_FLAG_P(retval) was exactly IS_PROP_UNINIT, but this is a
bit field and it may contain irrelevant bits. For instance it may contain
IS_PROP_REINITABLE during clone, or IS_PROP_LAZY if the object is lazy.

Fixes GH-16615
Closes GH-16639

show more ...


# eeec0939 29-Jun-2024 David Carlier

Fix GH-14687 segfault on debugging a freed SplObjectIterator instance.

close GH-14711


# 9d8983c0 25-Oct-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix GH-16595: Another UAF in DOM -> cloneNode

We need to perform all sanity checks before doing any modification.
I don't have a reliable and easy test for this on 8.2, but I have one

Fix GH-16595: Another UAF in DOM -> cloneNode

We need to perform all sanity checks before doing any modification.
I don't have a reliable and easy test for this on 8.2, but I have one
for 8.4.

Closes GH-16598.

show more ...


# d89dd28d 25-Oct-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix GH-16593: Assertion failure in DOM->replaceChild

This is already forbidden by libxml, but this condition isn't properly
checked; so the return value and lack of error makes it seem l

Fix GH-16593: Assertion failure in DOM->replaceChild

This is already forbidden by libxml, but this condition isn't properly
checked; so the return value and lack of error makes it seem like it
worked while it actually didn't. Furthermore, this can break assumptions
and assertions later on.

Closes GH-16596.

show more ...


# 947e319b 25-Oct-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix GH-16594: Assertion failure in DOM -> before

The invalid parent condition can actually happen because PHP's DOM is
allows to get children of e.g. attributes; something normally not

Fix GH-16594: Assertion failure in DOM -> before

The invalid parent condition can actually happen because PHP's DOM is
allows to get children of e.g. attributes; something normally not
possible.

Closes GH-16597.

show more ...


# 38e1b0ac 24-Oct-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix GH-16572: Incorrect result with reflection in low-trigger JIT

When a recursive call happens with invalid arguments, the maximum valid
arguments are computed and stored in `num_args`,

Fix GH-16572: Incorrect result with reflection in low-trigger JIT

When a recursive call happens with invalid arguments, the maximum valid
arguments are computed and stored in `num_args`, but the RECV entry
block we jump to is `call_num_args` instead. This can skip argument
validation checks. Fix this by using `num_args` instead.

Closes GH-16575.

show more ...


# 757781a1 25-Oct-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix GH-16577: EG(strtod_state).freelist leaks with opcache.preload

This happens because on ZTS we execute `executor_globals_ctor` which reset the
`freelist` and `p5s` pointers, while on

Fix GH-16577: EG(strtod_state).freelist leaks with opcache.preload

This happens because on ZTS we execute `executor_globals_ctor` which reset the
`freelist` and `p5s` pointers, while on NTS we don't.
On NTS we can reuse the caches but on ZTS we can't, the easiest fix is
to call `zend_shutdown_strtod` when preloading is shut down.
This regressed in GH-13974 and therefore only exists in PHP 8.4 and
higher.

Closes GH-16602.

show more ...


# 8f60309a 26-Oct-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix GH-16589: UAF in SplDoublyLinked->serialize()

Closes GH-16611.


# 992ac1c2 26-Oct-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix GH-16591: Assertion error in shm_put_var

Closes GH-16610.

Suggested-by: "Christoph M. Becker" <cmbecker69@gmx.de>


# a19029fc 17-Oct-2024 Gina Peter Banyard

Fix GH-16477 (Segmentation fault when calling __debugInfo() after failed SplFileObject::__constructor)

Closes GH-16480
Closes GH-16604


# 144d2ee2 25-Oct-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix GH-16588: UAF in Observer->serialize

Closes GH-16600.


# e9283c08 24-Oct-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix GH-16574: Incorrect error "undefined method" messages

The `get_method` object handler may change the object pointer. SPL does
this in its iterator implementations. This causes the er

Fix GH-16574: Incorrect error "undefined method" messages

The `get_method` object handler may change the object pointer. SPL does
this in its iterator implementations. This causes the error message
to change to another class which is confusing to the user. JIT handles
this correctly. This patch aligns behaviour with JIT.

Closes GH-16576.

show more ...


# e0a0e216 12-Oct-2024 David Carlier

ext/gmp: gmp_pow fix FPE with large values.

even without sanitizers, it is reproducible but with the following

```
<?php
$g = gmp_init(256);
var_dump(gmp_pow($g, PHP_INT

ext/gmp: gmp_pow fix FPE with large values.

even without sanitizers, it is reproducible but with the following

```
<?php
$g = gmp_init(256);
var_dump(gmp_pow($g, PHP_INT_MAX));
```

we get this

```
AddressSanitizer:DEADLYSIGNAL
=================================================================
==286922==ERROR: AddressSanitizer: FPE on unknown address 0x03e8000460ca (pc 0x7faf6c69de5c bp 0x400000000000004 sp 0x7ffe9843c740 T0)
#0 0x7faf6c69de5c in __pthread_kill_implementation nptl/pthread_kill.c:44
#1 0x7faf6c649c81 in __GI_raise ../sysdeps/posix/raise.c:26
#2 0x7faf6db9386c in __gmp_exception (/lib/x86_64-linux-gnu/libgmp.so.10+0xd86c) (BuildId: 1af68a49fe041a5bb48a2915c3d47541f713bb38)
#3 0x7faf6db938d3 in __gmp_overflow_in_mpz (/lib/x86_64-linux-gnu/libgmp.so.10+0xd8d3) (BuildId: 1af68a49fe041a5bb48a2915c3d47541f713bb38)
#4 0x7faf6dbac95c in __gmpz_realloc (/lib/x86_64-linux-gnu/libgmp.so.10+0x2695c) (BuildId: 1af68a49fe041a5bb48a2915c3d47541f713bb38)
#5 0x7faf6dba9038 in __gmpz_n_pow_ui (/lib/x86_64-linux-gnu/libgmp.so.10+0x23038) (BuildId: 1af68a49fe041a5bb48a2915c3d47541f713bb38)
#6 0x5565ae1ccd9f in zif_gmp_pow /home/dcarlier/Contribs/php-src/ext/gmp/gmp.c:1286
#7 0x5565aee96ea9 in ZEND_DO_ICALL_SPEC_RETVAL_USED_HANDLER /home/dcarlier/Contribs/php-src/Zend/zend_vm_execute.h:1312
#8 0x5565af144320 in execute_ex /home/dcarlier/Contribs/php-src/Zend/zend_vm_execute.h:56075
#9 0x5565af160f07 in zend_execute /home/dcarlier/Contribs/php-src/Zend/zend_vm_execute.h:60439
#10 0x5565aed6fafe in zend_execute_scripts /home/dcarlier/Contribs/php-src/Zend/zend.c:1842
#11 0x5565aeae70a8 in php_execute_script /home/dcarlier/Contribs/php-src/main/main.c:2578
#12 0x5565af532f4e in do_cli /home/dcarlier/Contribs/php-src/sapi/cli/php_cli.c:964
#13 0x5565af535877 in main /home/dcarlier/Contribs/php-src/sapi/cli/php_cli.c:1334
#14 0x7faf6c633d67 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
#15 0x7faf6c633e24 in __libc_start_main_impl ../csu/libc-start.c:360
#16 0x5565adc04040 in _start (/home/dcarlier/Contribs/php-src/sapi/cli/php+0x2604040) (BuildId: 949049955bdf8b7197390b1978a1dfc3ef6fdf38)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: FPE nptl/pthread_kill.c:44 in __pthread_kill_implementation
==286922==ABORTING
```

close GH-16384

show more ...


# 1e7eba0b 24-Oct-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

[ci skip] Fix NEWS formatting


# e1e1e64a 23-Oct-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix GH-16559: UBSan abort in ext/gd/libgd/gd_interpolation.c:1007

The `uchar_clamp` function was backported from old code, this backports
it from new code.

Closes GH-16562.


# 58929919 20-Oct-2024 Máté Kocsis

Fix GH-16131: Prevent mixing PDO sub-classes with different DSN


# bb6cf5e9 22-Oct-2024 Saki Takamachi

[ci skip] Update NEWS for PHP 8.4.0RC4


# 2d068c4f 21-Oct-2024 Ilija Tovilo

Fix lineno for inheritance errors of early bound classes

Fixes GH-16508
Closes GH-16532


# de7ef3fa 21-Oct-2024 Ilija Tovilo

Fix lineno in function redeclaration error

We were previously using the lineno of the first instruction, rather than the
start of the function itself.

Fixes GH-16509
Closes

Fix lineno in function redeclaration error

We were previously using the lineno of the first instruction, rather than the
start of the function itself.

Fixes GH-16509
Closes GH-16531

show more ...


# 8720063c 21-Oct-2024 Ilija Tovilo

Fix propagation of ZEND_ACC_RETURN_REFERENCE for call trampoline

Fixes GH-16515
Closes GH-16529


# 64081d13 11-Sep-2024 Arnaud Le Blanc

Lazy objects: Update class constants earlier

If a lazy object is created for a class whose constants can not be updated, then
we have created an instance of a non-instantiable class. Thi

Lazy objects: Update class constants earlier

If a lazy object is created for a class whose constants can not be updated, then
we have created an instance of a non-instantiable class. This breaks the
expectations of clone.

Here I ensure that a class has its constants updated before creating a lazy
instance of it.

Fixes OSS-Fuzz #71407
Closes GH-15856

show more ...


# f9ce5e79 21-Oct-2024 Christoph M. Becker

Fix GH-16523: FILTER_FLAG_HOSTNAME accepts ending hyphen

Domain name labels must not end with a hyphen, and that is also true
for the last label. Apparently, this has been overlooked so

Fix GH-16523: FILTER_FLAG_HOSTNAME accepts ending hyphen

Domain name labels must not end with a hyphen, and that is also true
for the last label. Apparently, this has been overlooked so far.

Closes GH-16540.

show more ...


# 51b642f2 21-Oct-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix GH-16535: UAF when using document as a child

Documents can never be children of any node.

Closes GH-16539.


12345678910>>...616