NathanFreeman
1d4300d870
Fix bug #79451 : Using DOMDocument->replaceChild on doctype causes double free
...
Closes GH-9201
2022-08-19 12:46:23 +01:00
Stanislav Malyshev
0ef1dfc9f6
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
Fix #79971 : special character is breaking the path in xml function
2021-11-14 23:29:27 -08:00
Stanislav Malyshev
ca87d46a3e
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #79971 : special character is breaking the path in xml function
2021-11-14 23:28:13 -08:00
Christoph M. Becker
f15f8fc573
Fix #79971 : special character is breaking the path in xml function
...
The libxml based XML functions accepting a filename actually accept
URIs with possibly percent-encoded characters. Percent-encoded NUL
bytes lead to truncation, like non-encoded NUL bytes would. We catch
those, and let the functions fail with a respective warning.
2021-11-14 23:24:33 -08:00
Nikita Popov
decf906a90
Remove bug76738.phpt
...
The test contains PII in the base64-encoded part and is way too
complicated to be useful. I'd try to reduce it, but I can't tell
what it's actually supposed to test.
2021-10-21 10:40:12 +02:00
Christoph M. Becker
6fbdf69628
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
Fix #81433 : DOMElement::setIdAttribute() called twice may remove ID
2021-09-13 12:13:09 +02:00
Viktor
424c265478
Fix #81433 : DOMElement::setIdAttribute() called twice may remove ID
...
We must only remove the attribute id, if the user requested that.
Closes GH-7482.
2021-09-13 12:11:36 +02:00
Nikita Popov
0b232cf71d
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
Make tests compatible with libxml2 2.9.12
2021-05-26 13:20:36 +02:00
Stéphan Kochen
f3d1e9ed06
Make tests compatible with libxml2 2.9.12
...
This version of libxml introduced quite a few changes. Most of
them are differences in error reporting, while some also change
behavior, e.g. null bytes are no longer supported and xinclude
recursion is limited.
Closes GH-7030. Closes GH-7046.
Co-authored-by: Nikita Popov <nikic@php.net >
2021-05-26 13:19:34 +02:00
Christoph M. Becker
fddd0ac552
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
Fix #66783 : UAF when appending DOMDocument to element
2021-03-17 12:40:03 +01:00
Christoph M. Becker
a08847ab39
Fix #66783 : UAF when appending DOMDocument to element
...
According to the DOM standard, elements may only contain element, text,
processing instruction and comment nodes[1]. It is also specified that
a HierarchyRequestError should be thrown if a document is to be
inserted[2]. We follow that standard, and prevent the use-after-free
this way.
[1] <https://dom.spec.whatwg.org/#node-trees >
[2] <https://dom.spec.whatwg.org/#mutation-algorithms >
Closes GH-6765.
2021-03-17 12:37:18 +01:00
Máté Kocsis
5ecc078a17
Add missing skipif sections to ext/dom tests
2021-03-15 23:45:37 +01:00
Nikita Popov
44ef32ff2c
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
Fix potential file collision in dom tests
2021-02-24 21:30:44 +01:00
Nikita Popov
766f827e26
Fix potential file collision in dom tests
2021-02-24 21:30:20 +01:00
Nikita Popov
3549f48edc
Make createDocument() $namespace nullable
...
According to the DOM specification, this argument should be
nullable. It's also supposed to be a required argument, but
not changing that at this point.
2021-02-09 12:28:28 +01:00
Nikita Popov
ab92ffee22
Make getElementsByTagNameNS $namespace nullable
...
According to the DOM specification, this argument is supposed to
be nullable.
2021-02-09 12:19:44 +01:00
Benjamin Eberlei
665e1f324a
Fix bug #80600 DOMChildNode::remove does not work on DOMCharacterData.
...
Closes GH-6660
2021-02-02 20:26:52 +01:00
Christoph M. Becker
e71036ce03
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
Fix #80268 : loadHTML() truncates at NUL bytes
2020-10-26 13:15:03 +01:00
Christoph M. Becker
7bc1c0cca8
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #80268 : loadHTML() truncates at NUL bytes
2020-10-26 13:09:30 +01:00
Christoph M. Becker
6d2bc72530
Fix #80268 : loadHTML() truncates at NUL bytes
...
libxml2 has no particular issues parsing HTML strings with NUL bytes;
these just cause truncation of the current text content, but parsing
continues generally. Since `::loadHTMLFile()` already supports NUL
bytes, `::loadHTML()` should as well.
Note that this is different from XML, which does not allow any NUL
bytes.
Closes GH-6368.
2020-10-26 13:08:05 +01:00
Dik Takken
f3c58a5ed6
Make handling of NULL bytes in file paths more consistent (WIP)
...
Not all extensions consistently throw exceptions when the user passes
a path name containing null bytes. Also, some extensions would throw
a ValueError while others would throw a TypeError. Error messages
also varied.
Now a ValueError is thrown after all failed path checks, at least for
as far as these occur in functions that are exposed to userland.
Closes GH-6216.
2020-09-29 14:55:10 +02:00
George Peter Banyard
8fef83dd3c
Promote warnings to error in DOM extension
...
Closes GH-5418
2020-09-22 19:12:32 +01:00
Nikita Popov
c5401854fc
Run tidy
...
This should fix most of the remaining issues with tabs and spaces
being mixed in tests.
2020-09-18 14:28:32 +02:00
Máté Kocsis
9975986b7e
Improve error messages mentioning parameters instead of arguments
...
Closes GH-5999
2020-09-09 10:47:43 +02:00
Benjamin Eberlei
9f6820f7f1
Fix #79968 : Manipulation on unattached DOMChildNode should throw DOMException
2020-08-19 11:54:41 +02:00
Máté Kocsis
7aacc705d0
Add many missing closing PHP tags to tests
...
Closes GH-5958
2020-08-09 22:03:36 +02:00
Nikita Popov
70501b81a7
Fixed bug #79852
2020-07-14 12:31:06 +02:00
Máté Kocsis
d30cd7d7e7
Review the usage of apostrophes in error messages
...
Closes GH-5590
2020-07-10 21:05:28 +02:00
Máté Kocsis
1179686f62
Improve error messages for invalid property access
...
Closes GH-5446
Co-authored-by: Nikita Popov <nikita.ppv@gmail.com >
2020-05-18 08:27:00 +02:00
Nikita Popov
bbda71b63d
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Revert "Fix #79065 : DOM classes do not expose properties to Reflection"
2020-04-28 15:10:23 +02:00
Nikita Popov
75470bc312
Revert "Fix #79065 : DOM classes do not expose properties to Reflection"
...
This reverts commit 6bc8f7e5a9 .
This causes an assertion failure in PHPUnit.
2020-04-28 15:09:41 +02:00
Christoph M. Becker
ecc6b8cc29
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix #79065 : DOM classes do not expose properties to Reflection
2020-04-27 10:28:00 +02:00
Christoph M. Becker
6bc8f7e5a9
Fix #79065 : DOM classes do not expose properties to Reflection
...
We add a `get_properties` handler which complements the already
existing `has_property` and `read_property`handlers.
2020-04-27 10:04:29 +02:00
Christoph M. Becker
68139dbdd8
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix #78221 : DOMNode::normalize() doesn't remove empty text nodes
2020-04-07 13:09:10 +02:00
Christoph M. Becker
13c9572a79
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #78221 : DOMNode::normalize() doesn't remove empty text nodes
2020-04-07 13:07:33 +02:00
Christoph M. Becker
efec22b7be
Fix #78221 : DOMNode::normalize() doesn't remove empty text nodes
...
If a text node is not followed by another text node, we remove it, if
its textContent is empty.
2020-04-07 13:04:14 +02:00
Máté Kocsis
01b266aac4
Improve error messages of various extensions
...
Closes GH-5278
2020-03-23 18:59:04 +01:00
Benjamin Eberlei
0d913f9acf
Fix another memory leak in dom_zvals_to_fragment.
2020-03-06 00:03:13 +01:00
Benjamin Eberlei
5acd86df8e
[RFC] Implement new DOM Living Standard APIs in ext/dom
2020-02-28 16:13:39 +01:00
Christoph M. Becker
406c5d5956
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix #79271 : DOMDocumentType::$childNodes is NULL
2020-02-17 09:10:39 +01:00
Christoph M. Becker
73a4c50309
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #79271 : DOMDocumentType::$childNodes is NULL
2020-02-17 09:09:30 +01:00
Christoph M. Becker
0966941130
Fix #79271 : DOMDocumentType::$childNodes is NULL
...
Dom level 2 core, DOM level 3 core and the DOM living standard agree
that `childNodes` always return a `NodeList`, and never `null`.
2020-02-17 09:07:54 +01:00
Christoph M. Becker
95ea8b08b8
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix typo in recent bugfix
2020-02-14 09:24:38 +01:00
Christoph M. Becker
8ec76366d0
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix typo in recent bugfix
2020-02-14 09:23:43 +01:00
Christoph M. Becker
392dada1d6
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fix typo in recent bugfix
2020-02-14 09:22:51 +01:00
Christoph M. Becker
8308196c97
Fix typo in recent bugfix
2020-02-14 09:21:13 +01:00
Christoph M. Becker
a957e84c58
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix #77569 : Write Acess Violation in DomImplementation
2020-02-13 15:17:25 +01:00
Christoph M. Becker
bf8c6519fb
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #77569 : Write Acess Violation in DomImplementation
2020-02-13 15:16:09 +01:00
Christoph M. Becker
8ebadd1128
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fix #77569 : Write Acess Violation in DomImplementation
2020-02-13 15:15:05 +01:00
Christoph M. Becker
cec8b24c84
Fix #77569 : Write Acess Violation in DomImplementation
...
We must not assume that the zval IS_STRING.
2020-02-13 15:13:26 +01:00