History log of /PHP-8.4/ext/dom/xpath.c (Results 1 – 25 of 161)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1d0fbdf4 09-Oct-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix GH-16316: DOMXPath breaks when not initialized properly

Closes GH-16330.


# a59103fe 18-Jul-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix trampoline leak in xpath callables

Closes GH-15009.


# 5471f3d9 18-Jul-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Don't open-code string value accesses in xpath (#15007)


# 6980eba8 10-Jul-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Support templated content

The template element in HTML 5 is special in the sense that it does not
add its contents into the DOM tree, but instead keeps them in a separate
shadow DOM

Support templated content

The template element in HTML 5 is special in the sense that it does not
add its contents into the DOM tree, but instead keeps them in a separate
shadow DOM document fragment. Interacting with the DOM tree cannot touch
the elements in the document fragment.

Closes GH-14906.

show more ...


# ff770d02 08-Jul-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Throw an exception when using the namespace axis in XPath in modern DOM (#14871)

This was specified in https://wiki.php.net/rfc/dom_additions_84, under
the "NamespaceInfo" section, but w

Throw an exception when using the namespace axis in XPath in modern DOM (#14871)

This was specified in https://wiki.php.net/rfc/dom_additions_84, under
the "NamespaceInfo" section, but was not implemented yet.

show more ...


# 768900b1 12-Apr-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Implement Dom $innerHTML property


# 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 ...


# 6e7adb3c 09-May-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Update ext/dom names after policy change (#14171)


# a136117e 14-Apr-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Make (DOM)XPath::quote only accept strings without NULL bytes (#13960)

* Make (DOM)XPath::quote only accept strings without NULL bytes

The reason is that libxml will cut off on a NU

Make (DOM)XPath::quote only accept strings without NULL bytes (#13960)

* Make (DOM)XPath::quote only accept strings without NULL bytes

The reason is that libxml will cut off on a NULL byte, and so strings
containing NULL bytes may not be necessarily safe even when coming out
of quoting.

* Add test

Co-authored-by: divinity76 <divinity76@gmail.com>

---------

Co-authored-by: divinity76 <divinity76@gmail.com>

show more ...


# 30c58aba 14-Mar-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix potential memory leak in XPath evaluation results


# d57e7a92 09-Mar-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Use BAD_CAST consistently


# 6c55513e 09-Mar-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Use true instead of 1 with php_dom_throw_error


# 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


# 657167f1 22-Feb-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Destroy xpath callbacks at the time when the reconstruction happens


# 01f1c600 22-Feb-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Cleanup xpath.c by merging some declarations and assignments


# 9c2c0c3d 22-Feb-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Remove always-true check


# 2f9320c0 22-Feb-2024 divinity76

DOMXPath::quote(string $str): string (#13456)

Method to quote strings in XPath, similar to PDO::quote() / mysqli::real_escape_string.

Sample usage: $xp->query("//span[contains(text(

DOMXPath::quote(string $str): string (#13456)

Method to quote strings in XPath, similar to PDO::quote() / mysqli::real_escape_string.

Sample usage: $xp->query("//span[contains(text()," . $xp->quote($string) . ")]")

The algorithm is derived from Robert Rossney's research into XPath quoting published at https://stackoverflow.com/a/1352556/1067003
But using an improved implementation I wrote myself, originally for https://github.com/chrome-php/chrome/pull/575

show more ...


# 90785dd8 12-Jan-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

[RFC] Improve callbacks in ext/dom and ext/xsl (#12627)


# 1492be52 13-Nov-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

[RFC] DOM HTML5 parsing and serialization support (#12111)


# 20c9c4a3 02-Nov-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix validation logic of php:function() callbacks in dom and xsl

Two issues:
- Assumed that at least 1 argument (function name) was provided.
- Incorrect error path for the non-callab

Fix validation logic of php:function() callbacks in dom and xsl

Two issues:
- Assumed that at least 1 argument (function name) was provided.
- Incorrect error path for the non-callable case.

Closes GH-12593.

show more ...


# 49b8168d 12-Oct-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Cover more paths in dom_xpath_ext_function_php() with tests

Also removes an incorrect comment: we *do* need the special namespace
node handling code, otherwise we'd segfault.


# 48443183 02-Sep-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Use zend_result as return for properties in ext/dom (#12113)


# 4dea42a3 02-Sep-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Preallocate result array size in xpath (#12105)

We know what size they're going to be, and we know they are packed
arrays. Prevent reallocations and initialisation overhead by setting th

Preallocate result array size in xpath (#12105)

We know what size they're going to be, and we know they are packed
arrays. Prevent reallocations and initialisation overhead by setting the
initial size and initializing it as packed from the start.

show more ...


# f2d673fb 08-Jun-2023 nielsdos <7771979+nielsdos@users.noreply.github.com>

Fix #70359 and #78577: segfaults with DOMNameSpaceNode

* Fix type confusion and parent reference
* Manually manage the lifetime of the parent
* Add regression tests
* Break out t

Fix #70359 and #78577: segfaults with DOMNameSpaceNode

* Fix type confusion and parent reference
* Manually manage the lifetime of the parent
* Add regression tests
* Break out to a helper, and apply the use-after-free fix to xpath

Closes GH-11402.

show more ...


# 78127721 30-May-2023 nielsdos <7771979+nielsdos@users.noreply.github.com>

Fix GH-11347: Memory leak when calling a static method inside an xpath query

It's a type confusion bug. `zend_make_callable` may change the function name
of the fci to become an array, c

Fix GH-11347: Memory leak when calling a static method inside an xpath query

It's a type confusion bug. `zend_make_callable` may change the function name
of the fci to become an array, causing a crash in debug mode on
`zval_ptr_dtor_str(&fci.function_name);` in `dom_xpath_ext_function_php`.
On a production build it doesn't crash but only causes a leak, because
the array elements are not destroyed, only the array container itself
is. We can use the nogc variant because it cannot contain cycles, the
potential array can only contain 2 strings.

Closes GH-11350.

show more ...


1234567