#
9cb23a3d |
| 30-Aug-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix GH-15654: Signed integer overflow in ext/dom/nodelist.c There's implicit truncation casts from zend_long to int which cause issues because checks are done against the zend_longs. Sin
Fix GH-15654: Signed integer overflow in ext/dom/nodelist.c There's implicit truncation casts from zend_long to int which cause issues because checks are done against the zend_longs. Since the iterator infrastructure uses zend_longs, just convert everything to zend_long. Closes GH-15669.
show more ...
|
#
9af574c2 |
| 23-Aug-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix GH-15551: Segmentation fault (access null pointer) in ext/dom/xml_common.h Closes GH-15556.
|
#
b282dd74 |
| 28-Jul-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix UAF when removing doctype and using foreach iteration This is an old bug, but this is pretty easy to fix. It's basically applying the same fix as I did for e878b9f. Reported by Y
Fix UAF when removing doctype and using foreach iteration This is an old bug, but this is pretty easy to fix. It's basically applying the same fix as I did for e878b9f. Reported by YuanchengJiang. Closes GH-15143.
show more ...
|
#
11accb5c |
| 25-Jun-2024 |
Arnaud Le Blanc |
Preferably include from build dir (#13516) * Include from build dir first This fixes out of tree builds by ensuring that configure artifacts are included from the build dir.
Preferably include from build dir (#13516) * Include from build dir first This fixes out of tree builds by ensuring that configure artifacts are included from the build dir. Before, out of tree builds would preferably include files from the src dir, as the include path was defined as follows (ignoring includes from ext/ and sapi/) : -I$(top_builddir)/main -I$(top_srcdir) -I$(top_builddir)/TSRM -I$(top_builddir)/Zend -I$(top_srcdir)/main -I$(top_srcdir)/Zend -I$(top_srcdir)/TSRM -I$(top_builddir)/ As a result, an out of tree build would include configure artifacts such as `main/php_config.h` from the src dir. After this change, the include path is defined as follows: -I$(top_builddir)/main -I$(top_builddir) -I$(top_srcdir)/main -I$(top_srcdir) -I$(top_builddir)/TSRM -I$(top_builddir)/Zend -I$(top_srcdir)/Zend -I$(top_srcdir)/TSRM * Fix extension include path for out of tree builds * Include config.h with the brackets form `#include "config.h"` searches in the directory containing the including-file before any other include path. This can include the wrong config.h when building out of tree and a config.h exists in the source tree. Using `#include <config.h>` uses exclusively the include path, and gives priority to the build dir.
show more ...
|
#
e7af2bfd |
| 12-May-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Get rid of reserved name usage
|
#
2dbe2d62 |
| 30-Apr-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix crash when calling childNodes next() when iterator is exhausted Closes GH-14091.
|
#
78ccea4e |
| 10-Apr-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix GH-13863: Removal during NodeList iteration breaks loop The list is live, so upon cache invalidation we should rewalk the tree to sync the index again with the node list. We keep the
Fix GH-13863: Removal during NodeList iteration breaks loop The list is live, so upon cache invalidation we should rewalk the tree to sync the index again with the node list. We keep the legacy behaviour for the old DOM classes. Closes GH-13934.
show more ...
|
#
2bf9da6e |
| 10-Apr-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix key data for NodeList iterations
|
#
51ff37b6 |
| 10-Apr-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Factor out dom_fetch_first_iteration_item()
|
#
15259a0a |
| 02-Apr-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Factor out common "first container's child" code
|
#
b7bc4134 |
| 02-Apr-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Remove random newline
|
#
fc9b58f6 |
| 02-Apr-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Remove duplicated code for entity vs notation handling
|
#
fa4d8cd4 |
| 02-Apr-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Cleanup create_notation() We're already clearing memory, and we can merge the declaration and assignment.
|
#
aa194611 |
| 02-Apr-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Don't use a heap allocation to track the current item
|
#
6de0486e |
| 02-Apr-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Express php_dom_libxml_notation_iter() using php_dom_libxml_hash_iter()
|
#
f02fd588 |
| 02-Apr-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Get rid of impossible error branch
|
#
88449f67 |
| 02-Apr-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Simplify control flow for special case of php_dom_iterator_move_forward()
|
#
899b916f |
| 02-Apr-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Merge declarations and assignments in php_dom_iterator_move_forward()
|
#
14b6c981 |
| 09-Mar-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
[RFC] Add a way to opt-in ext/dom spec compliance (#13031) RFC: https://wiki.php.net/rfc/opt_in_dom_spec_compliance
|
#
97267215 |
| 10-Jan-2024 |
David CARLIER |
general signatures discrepencies fixes (#13122)
|
#
df89409a |
| 29-Sep-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix compile error with -Werror=incompatible-function-pointer-types and old libxml2 libxml2 prior to 2.9.8 had a different signature for xmlHashScanner. This signature changed in https://
Fix compile error with -Werror=incompatible-function-pointer-types and old libxml2 libxml2 prior to 2.9.8 had a different signature for xmlHashScanner. This signature changed in https://github.com/GNOME/libxml2/commit/e03f0a199a67017b2f8052354cf732b2b4cae787 Use an #if to work around the incompatible signature. Closes GH-12326.
show more ...
|
#
a2fde391 |
| 10-Jul-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Remove always-true condition from php_dom_iterator_move_forward() basenode is already checked above
|
#
c3f07973 |
| 02-Jun-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Implement iteration cache, item cache and length cache for node list iteration (#11330) * Implement iteration cache, item cache and length cache for node list iteration The current
Implement iteration cache, item cache and length cache for node list iteration (#11330) * Implement iteration cache, item cache and length cache for node list iteration The current implementation follows the spec requirement that the list must be "live". This means that changes in the document must be reflected in the existing node lists without requiring the user to refetch the node list. The consequence is that getting any item, or the length of the list, always starts searching from the root element of the node list. This results in O(n) time to get any item or the length. If there's a for loop over the node list, this means the iterations will take O(n²) time in total. This causes real-world performance issues with potential for downtime (see GH-11308 and its references for details). We fix this by introducing a caching strategy. We cache the last iterated object in the iterator, the last requested item in the node list, and the last length computation. To invalidate the cache, we simply count the number of modifications made to the containing document. If the modification number does not match what the number was during caching, we know the document has been modified and the cache is invalid. If this ever overflows, we saturate the modification number and don't do any caching anymore. Note that we don't check for overflow on 64-bit systems because it would take hundreds of years to overflow. Fixes GH-11308.
show more ...
|
Revision tags: php-8.2.0RC1, php-8.1.10, php-8.0.23, php-8.0.23RC1, php-8.1.10RC1, php-8.2.0beta3, php-8.2.0beta2, php-8.1.9, php-8.0.22, php-8.1.9RC1, php-8.2.0beta1, php-8.0.22RC1, php-8.0.21, php-8.1.8, php-8.2.0alpha3, php-8.1.8RC1, php-8.2.0alpha2, php-8.0.21RC1, php-8.0.20, php-8.1.7, php-8.2.0alpha1, php-7.4.30, php-8.1.7RC1, php-8.0.20RC1, php-8.1.6, php-8.0.19, php-8.1.6RC1, php-8.0.19RC1, php-8.0.18, php-8.1.5, php-7.4.29, php-8.1.5RC1, php-8.0.18RC1, php-8.1.4, php-8.0.17, php-8.1.4RC1, php-8.0.17RC1, php-8.1.3, php-8.0.16, php-7.4.28, php-8.1.3RC1, php-8.0.16RC1, php-8.1.2, php-8.0.15, php-8.1.2RC1, php-8.0.15RC1, php-8.0.14, php-8.1.1, php-7.4.27, php-8.1.1RC1, php-8.0.14RC1, php-7.4.27RC1, php-8.1.0, php-8.0.13, php-7.4.26, php-7.3.33, php-8.1.0RC6, php-7.4.26RC1, php-8.0.13RC1, php-8.1.0RC5, php-7.3.32, php-7.4.25, php-8.0.12, php-8.1.0RC4, php-8.0.12RC1, php-7.4.25RC1, php-8.1.0RC3, php-8.0.11, php-7.4.24, php-7.3.31, php-8.1.0RC2, php-7.4.24RC1, php-8.0.11RC1, php-8.1.0RC1, php-7.4.23, php-8.0.10, php-7.3.30, php-8.1.0beta3, php-8.0.10RC1, php-7.4.23RC1, php-8.1.0beta2, php-8.0.9, php-7.4.22, php-8.1.0beta1, php-7.4.22RC1, php-8.0.9RC1, php-8.1.0alpha3, php-7.4.21, php-7.3.29 |
|
#
aff36587 |
| 29-Jun-2021 |
Patrick Allaert |
Fixed some spaces used instead of tabs
|
Revision tags: php-8.0.8, php-8.1.0alpha2, php-7.4.21RC1, php-8.0.8RC1, php-8.1.0alpha1, php-8.0.7, php-7.4.20, php-8.0.7RC1, php-7.4.20RC1 |
|
#
01b3fc03 |
| 06-May-2021 |
KsaR |
Update http->https in license (#6945) 1. Update: http://www.php.net/license/3_01.txt to https, as there is anyway server header "Location:" to https. 2. Update few license 3.0 to 3.01 as
Update http->https in license (#6945) 1. Update: http://www.php.net/license/3_01.txt to https, as there is anyway server header "Location:" to https. 2. Update few license 3.0 to 3.01 as 3.0 states "php 5.1.1, 4.1.1, and earlier". 3. In some license comments is "at through the world-wide-web" while most is without "at", so deleted. 4. fixed indentation in some files before |
show more ...
|