#
fe30c509 |
| 30-Aug-2023 |
Jakub Zelenka |
Fix GH-12077: Check lsof functionality in socket on close test Closes GH-12084
|
#
02b3fb1f |
| 30-Aug-2023 |
Filip Zrůst <128540+f4z4on@users.noreply.github.com> |
Remove CPP when invoking dtrace utility We are experiencing an issue when building PHP with DTrace enabled with SystemTap (see GH-11847).† The issue is caused by inappropriate use C
Remove CPP when invoking dtrace utility We are experiencing an issue when building PHP with DTrace enabled with SystemTap (see GH-11847).† The issue is caused by inappropriate use C preprocessor detected by GNU Autoconf in our “configure” script. C preprocessor configuration found by AC_PROG_CPP macro is portable only to run on files with “.c” extension.‡ However, statically-defined tracing is described by D programs with “.d” extension which causes the issue. We experience this even on typical Linux distribution with GNU Compiler Collection (GCC) unless we override the defaults detected by our “configure” script. Many major Linux distributions use SystemTap to provide “dtrace” utility. It relies on both external C preprocessor and external C compiler. C preprocessor can be customized via CPP environment variable. Similarly, C compiler can be customized via CC environment variable. It also allows customization of C compiler flags via CFLAGS environment variable. We have recently aligned both CPP and CC environment variable with C preprocessor and C compiler we use to build regular C source code as provided by our “configure” script (see GH-11643).* We wanted to allow cross-compilation on Linux for which this was the only blocker. C compiler flags from CFLAGS_CLEAN macro have already been in place since versions 5.4.20 and 5.5.4 from 2013-09-18. We had modified all “dtrace” invocations in the same way to make it look consistent. However, only the C compiler (CC environment variable) is necessary to for cross-compilation. There have never been any reported issue with the C preprocessor. We acknowledge it would be great to allow C preprocessor customization as well. However, the implementation would require a lot of effort to do correctly given the limitations of AC_PROG_CPP macro from GNU Autoconf. This would be further complicated by the fact that all DTrace implementations, not just SystemTap, allow C preprocessor customization but Oracle DTrace, Open DTrace, and their forks do it differently. Nevertheless, they all default to “cpp” utility and they all have or had been working fine. Therefore, we believe simply removing CPP stabilizes “dtrace” invocation on Linux systems with SystemTap and aligns it with other system configurations on other platforms, until someone comes with complete solution with custom “m4” and “make” macros, while our build system on Linux with SystemTap supports cross-compilation. Fixes GH-11847 Closes GH-12083 † https://github.com/php/php-src/issues/11847 ‡ https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.71/autoconf.html#index-AC_005fPROG_005fCPP-1 * https://github.com/php/php-src/issues/11643
show more ...
|
#
7deb84b7 |
| 29-Aug-2023 |
Jakub Zelenka |
Start PHP 8.4 development cycle
|
#
1371ce95 |
| 29-Aug-2023 |
Jakub Zelenka |
Update NEWS for start of RC2
|
#
0b9702c9 |
| 10-Aug-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Implement GH-11934: Allow to pass CData into struct and/or union fields Co-authored-by: KapitanOczywisty <44417092+KapitanOczywisty@users.noreply.github.com> Closes GH-11935.
|
#
a3a39644 |
| 27-Aug-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix oss-fuzz #61712: assertion failure with error handler during binary op Because the error handler is invoked after the property is updated, the error handler has the opportunity to re
Fix oss-fuzz #61712: assertion failure with error handler during binary op Because the error handler is invoked after the property is updated, the error handler has the opportunity to remove it before the property is returned. Switching the order around fixes this issue. The comments mention that the current ordering prevents overwriting the EG(std_property_info) field in the error handler. EG(std_property_info) no longer exists as it was removed in 7471c217. Back then a global was used to store the returned property info, but as this is no longer the case there is no longer a need to protect against overwriting a global. Closes GH-12062.
show more ...
|
#
bf3fb4e5 |
| 28-Aug-2023 |
Jeremie Courreges-Anglas |
On riscv64 require libatomic if actually needed clang and newer gcc releases support byte-sized atomic accesses on riscv64 through inline builtins. In both cases the hard dependency on
On riscv64 require libatomic if actually needed clang and newer gcc releases support byte-sized atomic accesses on riscv64 through inline builtins. In both cases the hard dependency on libatomic added by GH-11321 isn't useful. Stop using AC_CHECK_LIB() which is too naive to notice that libatomic isn't needed. Instead, PHP_CHECK_FUNC() will retry the check with -latomic if required. Closes GH-11790
show more ...
|
#
766cac07 |
| 28-Aug-2023 |
Jakub Zelenka |
Fix bug #76857: Can read "non-existant" files This change makes checked and opened file consistent in a way that it is using real path for stat operation in the same way like it is used
Fix bug #76857: Can read "non-existant" files This change makes checked and opened file consistent in a way that it is using real path for stat operation in the same way like it is used for open. Closes GH-12067
show more ...
|
#
ba9650d6 |
| 27-Aug-2023 |
Jakub Zelenka |
Fix bug #52335 (fseek() on memory stream behavior different then file) This changes memory stream to allow seeking past end which makes it the same as seeking on files. It means the posi
Fix bug #52335 (fseek() on memory stream behavior different then file) This changes memory stream to allow seeking past end which makes it the same as seeking on files. It means the position is allowed to be higher than the string length. The size only increases if data is appended to the past position. The space between the previous string and position is filled with zero bytes. Fixes GH-9441 Closes GH-12058
show more ...
|
#
aff46d75 |
| 25-Aug-2023 |
Jakub Zelenka |
Fix GH-11982: str_getcsv returns null byte for unterminated quoted string Closes GH-12047
|
#
418cdc0b |
| 14-Jul-2023 |
Mikhail Galanin |
Set CLOEXEC on listened/accepted sockets in the FPM children Closes GH-11708 Co-authored-by: Jakub Zelenka <bukka@php.net>
|
#
e1cb7216 |
| 22-Aug-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Improve warning when returning null from the resolver set by libxml_set_external_entity_loader Fixes GH-11952. Closes GH-12022.
|
#
f25474f7 |
| 11-Jun-2023 |
HypeMC |
Add before_needle argument to strrchr() Closes GH-11430
|
#
53aa53f4 |
| 24-Aug-2023 |
Jakub Zelenka |
Introduce Zend guard recursion protection This PR introduces a new way of recursion protection in JSON, var_dump and friends. It fixes issue in master for __debugInfo and also improves
Introduce Zend guard recursion protection This PR introduces a new way of recursion protection in JSON, var_dump and friends. It fixes issue in master for __debugInfo and also improves perf for jsonSerializable in some cases. More info can be found in GH-10020. Closes GH-11812
show more ...
|
#
20ac42e1 |
| 19-Aug-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix memory leak when setting an invalid DOMDocument encoding Because the failure path did not release the string, there was a memory leak. As the only valid types for this function a
Fix memory leak when setting an invalid DOMDocument encoding Because the failure path did not release the string, there was a memory leak. As the only valid types for this function are IS_NULL and IS_STRING, we and IS_NULL is always rejected in practice, solve the issue by not using a function that increments the refcount in the first place. Closes GH-12002.
show more ...
|
#
fc8d5c72 |
| 19-Aug-2023 |
David Carlier |
ext/iconv: fix build for netbsd. NetBSD still adopts the old iconv signature for buffer inputs. The next release will too so we can assume it will remain that way for a while.
ext/iconv: fix build for netbsd. NetBSD still adopts the old iconv signature for buffer inputs. The next release will too so we can assume it will remain that way for a while. Close GH-12001
show more ...
|
#
f78d1d0d |
| 12-Aug-2023 |
Ilija Tovilo |
Fix segfault in format_default_value due to unexpected enum/object Evaluating constants at comptime can result in arrays that contain objects. This is problematic for printing the defaul
Fix segfault in format_default_value due to unexpected enum/object Evaluating constants at comptime can result in arrays that contain objects. This is problematic for printing the default value of constant ASTs containing objects, because we don't actually know what the constructor arguments were. Avoid this by not propagating array constants. Fixes GH-11937 Closes GH-11947
show more ...
|
#
c1103a97 |
| 24-Mar-2023 |
Kamil Tekiela |
Fix implicit/explicit port in mysqlnd
|
#
32fa6733 |
| 15-Aug-2023 |
Eric Mann |
Update NEWS for PHP 8.3.0beta3
|
#
d46dc569 |
| 23-Jul-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix various namespace prefix conflict resolution bugs and namespace shift bugs There are two linked issues: - Conflicts couldn't be resolved by changing the prefix name. - Lacki
Fix various namespace prefix conflict resolution bugs and namespace shift bugs There are two linked issues: - Conflicts couldn't be resolved by changing the prefix name. - Lacking a prefix would shift the namespace as the default namespace, causing elements to suddenly become part of the namespace instead of the attributes. The output could still be improved by removing redundant namespace declarations, but that's another issue. At least the output is correct now. Closes GH-11777.
show more ...
|
#
02a80c5b |
| 14-Aug-2023 |
George Peter Banyard |
Fix various bugs related to DNF types - GH-11958: DNF types in trait properties do not get bound properly - GH-11883: Memory leak in zend_type_release() for non-arena allocated DNF typ
Fix various bugs related to DNF types - GH-11958: DNF types in trait properties do not get bound properly - GH-11883: Memory leak in zend_type_release() for non-arena allocated DNF types - Internal trait bound to userland class would not be arena allocated - Property DNF types were not properly deep copied during lazy loading Co-authored-by: Ilija Tovilo <ilija.tovilo@me.com> Co-authored-by: ju1ius <jules.bernable@gmail.com>
show more ...
|
#
b71c6b2c |
| 13-Aug-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix #81992: SplFixedArray::setSize() causes use-after-free Upon resizing, the elements are destroyed from lower index to higher index. When an element refers to an object with a destruct
Fix #81992: SplFixedArray::setSize() causes use-after-free Upon resizing, the elements are destroyed from lower index to higher index. When an element refers to an object with a destructor, it can refer to a lower (i.e. already destroyed) element, causing a uaf. Set refcounted zvals to NULL after destroying them to avoid a uaf. Closes GH-11959.
show more ...
|
#
ee000ea1 |
| 08-Aug-2023 |
Ilija Tovilo |
Fix uouv on oom on object allocation We may OOM during object initialization. In this case, free_obj needs to guard against NULL values. There may be more cases where this is an issue, t
Fix uouv on oom on object allocation We may OOM during object initialization. In this case, free_obj needs to guard against NULL values. There may be more cases where this is an issue, these were the ones I was able to discover via script. Fixes GH-11734
show more ...
|
#
bb092ab4 |
| 06-Aug-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix #80927: Removing documentElement after creating attribute node: possible use-after-free Closes GH-11892.
|
#
0d922aa5 |
| 09-Aug-2023 |
Kamil Tekiela |
Fix error checking in mysqlnd Closes GH-11925
|