Niels Dossche
d9d412645d
Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
Run FreebSD CI under 13.5
3 months ago
Niels Dossche
be88192594
Run FreebSD CI under 13.5
13.3 gives a 404 now.
Also pulls in a 8.4 fix to include xxhash from the bundled location.
Closes GH-19213.
3 months ago
Ilija Tovilo
99b5b20479
Merge branch 'PHP-8.4'
* PHP-8.4:
[skip ci] Fix wrong oss-fuzz ID
3 months ago
Ilija Tovilo
79368ed8f3
Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
[skip ci] Fix wrong oss-fuzz ID
3 months ago
Ilija Tovilo
a48d620c26
[skip ci] Fix wrong oss-fuzz ID
Oops, darn copy & paste.
3 months ago
Ilija Tovilo
5b05d429f2
Merge branch 'PHP-8.4'
* PHP-8.4:
Leak in failed unserialize() with opcache
3 months ago
Ilija Tovilo
f0baf3dc11
Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
Leak in failed unserialize() with opcache
3 months ago
Ilija Tovilo
5d1636e40b
Leak in failed unserialize() with opcache
With opcache, zend_string_init_interned() will allocate non-interned strings at
runtime because shm is locked. Hence, we need to make sure to actually free this
string.
Fixes OSS-Fuzz #433303828
Closes GH-19211
3 months ago
Niels Dossche
ef5ca80a47
Merge branch 'PHP-8.4'
* PHP-8.4:
Add missing cc clobber
3 months ago
Niels Dossche
c04f2d2d88
Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
Add missing cc clobber
3 months ago
Niels Dossche
13c781f04d
Add missing cc clobber
Closes GH-19205.
3 months ago
David CARLIER
a7fef37657
ext/intl: c++ memory management application to timezone class internals. ( #19184 )
3 months ago
Niels Dossche
113eb203b0
Merge branch 'PHP-8.4'
* PHP-8.4:
Fix test conflict between chmod_variation2 and file_variation5
3 months ago
Niels Dossche
e572e899bd
Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
Fix test conflict between chmod_variation2 and file_variation5
3 months ago
Niels Dossche
7ab37e81e0
Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
Fix test conflict between chmod_variation2 and file_variation5
3 months ago
Niels Dossche
27f24bd9bc
Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
Fix test conflict between chmod_variation2 and file_variation5
3 months ago
Niels Dossche
605ee05491
Fix test conflict between chmod_variation2 and file_variation5
Both used "somelink".
See https://github.com/php/php-src/actions/runs/16427526464/job/46421461376
Closes GH-19208.
3 months ago
Niels Dossche
95f1350ca8
NEWS and UPGRADING for array_chunk
3 months ago
Niels Dossche
1b169bf28e
Allocate array eagerly in array_chunk
By preallocating it as a packed array, we save the initial
initialization overhead.
Gives a few extra percentage points improvement.
3 months ago
Niels Dossche
4762d46427
Avoid modulo operation in loop in array_chunk
For this benchmark:
```php
$length = 25;
for ($i=0;$i<1000;$i++)
array_chunk(range(0, 10000), $length);
```
On an i7-4790, length=25 speeds up by 1.8x and length=1 by 1.27x.
On an i7-1185G7, length=25 speeds up by 1.08x and length=1 by 1.02x.
3 months ago
DanielEScherzer
1eadf553f1
Arginfo: avoid using temporary zvals for initializing attribute values ( #19141 )
Instead of
* adding a zval on the stack
* initializing it
* copying the value to the attribute
Just initialize the value directly in the zend_attribute_arg
3 months ago
Niels Dossche
c55f142c6c
Make specialization of x64 zend_safe_address() for nmemb==1 ( #19203 )
3 months ago
Artem Ukrainskiy
e0c3f46496
Refactor traverse_for_entities for unescape_html_entities
Optimize scanning for '&' and ';' using memchr. Use memcpy instead of
character-by-character copying language.
Closes GH-18092
7 months ago
Ilija Tovilo
eb65ec41b7
Implement Closure::getCurrent() to retrieve current closure
Fixes GH-18163
Closes GH-18167
7 months ago
Ilija Tovilo
d20f4fca69
Merge branch 'PHP-8.4'
* PHP-8.4:
Fix properties_info_table for abstract properties
3 months ago
Ilija Tovilo
c8cc23336d
Fix properties_info_table for abstract properties
Fixes GH-19053
Closes GH-19140
Co-authored-by: Bob Weinand <bobwei9@hotmail.com>
3 months ago
David Carlier
ff6c1c7a30
[ci kip] UPDATE NEWS
3 months ago
David CARLIER
bd886d21e7
Fix GH-19197: session build fails on system with memcpy as macro. ( #19198 )
Thus ZEND_STRL macro does not expand as expected so going back
to not using it like lower branches.
3 months ago
Niels Dossche
30f03021d1
[ci skip] Remove obsolete todo ( #19195 )
All arguments are documented on php.net, although result_type is called
mode in the docs and stub.
3 months ago
Tim Düsterhus
7f1b3606a8
main: Add `PHP_BUILD_PROVIDER` userland constant ( #19157 )
This constant can be handy for tools like PIE to determine the origin of a PHP
binary to provide better output / diagnostics.
see php/pie#275
see php/php-src#18168
3 months ago
David CARLIER
e91d2c719f
zend: ZEND_NONSTRING for clang >= 20 support ( #19193 )
3 months ago
Niels Dossche
d7f9caf37c
Merge branch 'PHP-8.4'
* PHP-8.4:
Fix GH-18640: heap-use-after-free ext/soap/php_encoding.c:299:32 in soap_check_zval_ref
3 months ago
Niels Dossche
f8196a5db5
Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
Fix GH-18640: heap-use-after-free ext/soap/php_encoding.c:299:32 in soap_check_zval_ref
3 months ago
Niels Dossche
6cc4ae1f1d
Fix GH-18640: heap-use-after-free ext/soap/php_encoding.c:299:32 in soap_check_zval_ref
For attributes, relying on the ref_map doesn't make sense the first
place as you can't really refer to attributes from attributes.
The code therefore assumes that the node is unique, which is broken.
Closes GH-19181.
3 months ago
Niels Dossche
541620cf78
Merge branch 'PHP-8.4'
* PHP-8.4:
Fix GH-19098: libxml<2.13 segmentation fault caused by php_libxml_node_free
3 months ago
Niels Dossche
cb73155945
Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
Fix GH-19098: libxml<2.13 segmentation fault caused by php_libxml_node_free
3 months ago
Niels Dossche
312869381a
Fix GH-19098: libxml<2.13 segmentation fault caused by php_libxml_node_free
This implements a workaround for reconciliation not being performed for
document-less nodes in libxml<2.13.
Closes GH-19186.
3 months ago
David CARLIER
999d29dc2b
ext/intl: reducing raw pointer usage in C++ part, using smart ones instead. ( #19179 )
3 months ago
Niels Dossche
726516b8c1
UPGRADING, UPGRADING.INTERNALS, and NEWS for SVG and extensible image API
12 months ago
Niels Dossche
0962c325fa
Implement SVG image handler
This implements an SVG handler using the libxml reader API. This does
not parse the entire document but instead uses a pull parser to locate
the root element, check whether it's an svg root, do some extra sanity
checks on the attribute, and fill in the php_gfxinfo structure.
12 months ago
Niels Dossche
8db883c540
Add API to register custom image handlers
This is modelled similarly to the password registry API.
We have an array to which new handlers can be added, and when a built-in
handler cannot handle the image, we try the handlers in the array.
The standard module is in control of registering a new constant for the
image file type so that no clashes can occur. It also updates the image
file type count constant. As such, the registration may only happen
during module startup.
12 months ago
Niels Dossche
05bb051243
Expose gfxinfo as php_gfxinfo
This is necessary for future commits, when we extend the image handling
to support extensions adding their own handlers.
Also extend the struct with fields for when the width and height are not
numbers but strings (e.g. for SVG).
12 months ago
Niels Dossche
03a9f03822
Migrate from xmlNewNode to xmlNewDocNode ( #19182 )
The former is discouraged [1].
[1] https://gnome.pages.gitlab.gnome.org/libxml2/html/tree_8h.html#aa39c05fb472571ed00e38c065e67d2ec
3 months ago
Peter Kokot
68fdb43573
Remove duplicate libxml2-dev ( #19185 )
3 months ago
Benstone Zhang
dfac2da7fb
Add support for HEIF/HEIC to getimagesize
Signed-off-by: Benstone Zhang <benstonezhang@gmail.com>
4 months ago
Niels Dossche
dd3a098a9b
Disable error handler in fuzzer ( #19183 )
These are all the same root cause and it's known.
3 months ago
Volker Dusch
189b933dd4
RM docs: Update social media annoncement process ( #19159 )
3 months ago
Tim Düsterhus
6ca6d569ff
bless_tests: Replace the object ID in `var_dump()` for namespaced classes ( #19174 )
3 months ago
David Carlier
2c42479890
Merge branch 'PHP-8.4'
3 months ago
David Carlier
f1a77c0198
Merge branch 'PHP-8.3' into PHP-8.4
3 months ago