#
b5da98b9 |
| 27-Sep-2023 |
twosee |
Fix socket_export_stream() with wrong protocol Closes GH-12310.
|
#
e127f871 |
| 27-Sep-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Restore old namespace reconciliation behaviour The xmlDOMWrapReconcileNamespaces method we used to fix the namespace corruption issues in 8.1.21/8.2.8 caused regressions. Primarily,
Restore old namespace reconciliation behaviour The xmlDOMWrapReconcileNamespaces method we used to fix the namespace corruption issues in 8.1.21/8.2.8 caused regressions. Primarily, there is a similar corruption that the xmlReconciliateNs method used to have in which a namespace is suddenly shifted (SAML-Toolkits/php-saml#562) and the side-effect of removing redundant namespaces causes problems when a specific serialization is required. Closes GH-12308.
show more ...
|
#
07811b63 |
| 25-Sep-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix GH-11997: ctype_alnum 5 times slower in PHP 8.1 or greater Currently, a common function is used where a function pointer gets passed to check the character class type. If we instead
Fix GH-11997: ctype_alnum 5 times slower in PHP 8.1 or greater Currently, a common function is used where a function pointer gets passed to check the character class type. If we instead use a macro, the macro version of these character class type checkers can be used. While this gives only a minor speed-up for glibc-based systems, on Alpine this gives a multi-facor speed-up This is essentially a manual revert of dc80ea7e38. Full discussion in GH-11997. Closes GH-12300.
show more ...
|
#
14fc3d15 |
| 25-Sep-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix GH-12297: PHP Startup: Invalid library (maybe not a PHP library) 'mysqlnd.so' in Unknown on line On some configurations, the COMPILE_DL_MYSQLND must come from config.h. If it isn't s
Fix GH-12297: PHP Startup: Invalid library (maybe not a PHP library) 'mysqlnd.so' in Unknown on line On some configurations, the COMPILE_DL_MYSQLND must come from config.h. If it isn't set, the get_module function won't be exposed, resulting in a failure when trying to load the library. It's the same issue ext/fileinfo had a while back that was fixed in b0ba368d5. Closes GH-12299.
show more ...
|
#
82a84d0b |
| 23-Sep-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix GH-12167 and GH-12169: Unable to get comment or processing instruction contents in SimpleXML Closes GH-12289.
|
#
d65c8003 |
| 12-Sep-2023 |
David Carlier |
Fix GH-12190: stream_context_create with address and port at 0. Prior to the 8.1 rewrite, inet_aton was used for ipv4 addresses therefore addresses like `0` passed. For the bindto's
Fix GH-12190: stream_context_create with address and port at 0. Prior to the 8.1 rewrite, inet_aton was used for ipv4 addresses therefore addresses like `0` passed. For the bindto's case where both ip and port are set as such, we discard the address binding. Close GH-12195
show more ...
|
#
d93800ec |
| 22-Sep-2023 |
Thomas Hurst |
Fix GH-12273 - configure __builtin_cpu_init() check __builtin_cpu_init() is documented as having a void return type. It happens to return int on gcc, but is void on clang. Clos
Fix GH-12273 - configure __builtin_cpu_init() check __builtin_cpu_init() is documented as having a void return type. It happens to return int on gcc, but is void on clang. Close GH-122274
show more ...
|
#
a80db7b5 |
| 23-Sep-2023 |
David Carlier |
Fix GH-12282: IntlDateFormatter::construct should throw an exception is the locale field has an invalid value. Close GH-12282
|
#
5d68d619 |
| 22-Sep-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Implement #53655: Improve speed of DOMNode::C14N() on large XML documents The XPath query is in accordance to spec [1]. However, we can do it in a simpler way. We can use a custom callba
Implement #53655: Improve speed of DOMNode::C14N() on large XML documents The XPath query is in accordance to spec [1]. However, we can do it in a simpler way. We can use a custom callback function instead of a linear search in XPath to check if a node is visible. Note that comment nodes are handled internally by libxml2 already, so we do not need to differentiate between node types. The callback will do an upwards traversal of the tree until the root of the canonicalization is reached. In practice this will speed up the application a lot. [1] https://www.w3.org/TR/2001/REC-xml-c14n-20010315 section 2.1 Closes GH-12278.
show more ...
|
#
3d857d5b |
| 22-Sep-2023 |
Tim Düsterhus |
round(): Validate the rounding mode (#12252)
|
#
f6fae19a |
| 21-Sep-2023 |
David Carlier |
ext/intl: expose dateformat UDAT_PATTERN constant. Close GH-12258
|
#
ca5f9e81 |
| 21-Sep-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
[ci skip] NEWS Remove redundant whitespace
|
#
30f26b58 |
| 20-Sep-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix memory leak when calling xml_parse_into_struct() twice Closes GH-12254.
|
#
b1d9a8d3 |
| 20-Sep-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix return type of stub of xml_parse_into_struct() Closes GH-12253.
|
#
84c4336a |
| 19-Sep-2023 |
David Carlier |
Fix GH-12243, segfault on IntlDateFormatter::construct with dateType set to UDAT_PATTERN but not timeType. udat_open expects its timeStyle's argument to be set to UDAT_PATTERN when date
Fix GH-12243, segfault on IntlDateFormatter::construct with dateType set to UDAT_PATTERN but not timeType. udat_open expects its timeStyle's argument to be set to UDAT_PATTERN when dateStyle is, regardless if there an actual pattern or not. Close GH-12245
show more ...
|
#
da6097ff |
| 15-Sep-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix GH-12215: Module entry being overwritten causes type errors in ext/dom (<= PHP 8.3) When we try to load an extension multiple times, we still overwrite the type, module number, and h
Fix GH-12215: Module entry being overwritten causes type errors in ext/dom (<= PHP 8.3) When we try to load an extension multiple times, we still overwrite the type, module number, and handle. If the module number is used to indicate module boundaries (e.g. in reflection and in dom, see e.g. dom_objects_set_class_ex), then all sorts of error can happen. In the case of ext/dom, OP's error happens because the following happens: - The property handler is set up incorrectly in dom_objects_set_class_ex() because the wrong module number is specified. The class highest in the hierarchy is DOMNode, so the property handler is incorrectly set to that of DOMNode instead of DOMDocument. - The documentElement property doesn't exist on DOMNode, it only exists on DOMDocument, so it tries to read using zend_std_read_property(). As there is no user property called documentElement, that read operation returns an undef value. However, the type is still checked, resulting in the strange exception. Closes GH-12219.
show more ...
|
#
1a4e401b |
| 19-Sep-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix bug #55098: SimpleXML iteration produces infinite loop Closes GH-12247.
|
#
9652889b |
| 19-Sep-2023 |
Tim Düsterhus |
Reimplement `php_round_helper()` using `modf()` (#12220) This change makes the implementation much easier to understand, by explicitly handling the various cases. It fixes round
Reimplement `php_round_helper()` using `modf()` (#12220) This change makes the implementation much easier to understand, by explicitly handling the various cases. It fixes rounding for `0.49999999999999994`, because no loss of precision happens by adding / subtracing `0.5` before turning the result into an integral float. Instead the fractional parts are explicitly compared. see GH-12143 (this fixes one of the reported cases) Closes GH-12159 which was an alternative attempt to fix the rounding issue for `0.49999999999999994`
show more ...
|
#
d61efdfe |
| 02-Sep-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix GH-11956: PCRE regular expressions with JIT enabled gives different result The code in the attached test used to work correctly in PHP 8.0, but not in 8.1+. This is because PHP 8.1+
Fix GH-11956: PCRE regular expressions with JIT enabled gives different result The code in the attached test used to work correctly in PHP 8.0, but not in 8.1+. This is because PHP 8.1+ uses a more modern version of pcre2 than PHP 8.0, and that pcre2 versions has a regression. While upgrading pcre2lib seems to be only done for the master branch, it is possible to backport upstream fixes to stable branches. This has been already done in the past in for JIT regressions [1], so it is not unprecedented. We backport the upstream pcre2 fix [2]. [1] https://github.com/php/php-src/commit/788a701e222 [2] https://github.com/PCRE2Project/pcre2/pull/135 Closes GH-12108.
show more ...
|
#
910f579f |
| 18-Sep-2023 |
Florian Sowade |
Fix GH-12207 memory leak of doc blocks of static properties When declaring the same static property with a doc block in a class and in a trait, the doc block of the property in the class
Fix GH-12207 memory leak of doc blocks of static properties When declaring the same static property with a doc block in a class and in a trait, the doc block of the property in the class is leaked. While at it, possibly fix doc comment for internal classes. Close GH-12238
show more ...
|
#
0b614a6c |
| 13-Sep-2023 |
George Peter Banyard |
Fixed oss-fuzz #62294: Unsetting variable after ++/-- on string variable warning Closes GH-12202
|
#
486276f0 |
| 17-Sep-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix GH-12208: SimpleXML infinite loop when a cast is used inside a foreach Closes GH-12229.
|
#
39a9e561 |
| 16-Sep-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix GH-12223: Entity reference produces infinite loop in var_dump/print_r Closes GH-12223.
|
#
4d888cf5 |
| 12-Sep-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix GH-12192: SimpleXML infinite loop when getName() is called within foreach This happens because getName() resets the iterator to the start because it overwrites the iterator data.
Fix GH-12192: SimpleXML infinite loop when getName() is called within foreach This happens because getName() resets the iterator to the start because it overwrites the iterator data. We add a version of get_first_node that does not overwrite the iterator data. Closes GH-12193.
show more ...
|
#
10f5a06d |
| 12-Sep-2023 |
Max Semenik |
Fix GH-12186: segfault copying/cloning a finalized HashContext Closes GH-12186. Closes GH-12187.
|