Stanislav Malyshev
85d9278db2
Merge branch 'PHP-8.0' into PHP-8.1
2023-02-12 21:33:39 -07:00
Niels Dossche
ec10b28d64
Fix array overrun when appending slash to paths
...
Fix it by extending the array sizes by one character. As the input is
limited to the maximum path length, there will always be place to append
the slash. As the php_check_specific_open_basedir() simply uses the
strings to compare against each other, no new failures related to too
long paths are introduced.
We'll let the DOM and XML case handle a potentially too long path in the
library code.
2023-02-12 20:56:19 -07:00
George Peter Banyard
a4acba9e52
Add missing EXTENSION section to tests
2022-10-27 14:39:43 +01:00
Christoph M. Becker
9bd9e9a867
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix #79451 : DOMDocument->replaceChild on doctype causes double free
2022-08-19 18:13:48 +02:00
NathanFreeman
6027d441c1
Fix #79451 : DOMDocument->replaceChild on doctype causes double free
...
We have to reset intSubset if replacing doctype with another doctype node.
Closes GH-9201.
Closes GH-9376.
2022-08-19 18:10:06 +02:00
George Peter Banyard
eb8ea14c66
Merge branch 'PHP-8.0' into PHP-8.1
2022-08-19 13:57:19 +01:00
George Peter Banyard
d6831e9a5c
Revert Fixed bug #79451
...
The fix for 8.1 and above is not identical and I don't know how to fix without breaking the whole build apparently
2022-08-19 13:54:54 +01:00
George Peter Banyard
5739dd0030
Fix bad merge
2022-08-19 13:17:57 +01:00
George Peter Banyard
c36a1ea1ae
Merge branch 'PHP-8.0' into PHP-8.1
2022-08-19 12:52:58 +01:00
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
9de4eb9e37
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix #79971 : special character is breaking the path in xml function
2021-11-14 23:29:59 -08: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
6ff1c9c403
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Remove bug76738.phpt
2021-10-21 10:44:42 +02: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
Máté Kocsis
8168d312f9
Fix a few more classsynopsis generation issues
...
Closes GH-7480
2021-09-22 23:09:43 +02:00
Tim Starling
781e6b4d21
Fix O(N) performance of DOMNode::replaceChild() and DOMNode::removeChild()
...
Don't loop over all children to determine if the target node really is a
child, just trust the parent pointer. Add tests.
2021-09-14 15:30:34 +02:00
Christoph M. Becker
9ffa3f9ba3
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix #81433 : DOMElement::setIdAttribute() called twice may remove ID
2021-09-13 12:14:32 +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
Máté Kocsis
267c24e9ee
Update property read handler comments for DOMEntity
2021-08-26 13:15:24 +02:00
Máté Kocsis
25cbd08470
Make a few unuseful DOMEntity properties readonly ( #7406 )
2021-08-26 10:37:45 +02:00
Máté Kocsis
cdf2f3eb16
DOMCharacterData::$data and DOMAttr::$value are writable
2021-08-25 09:25:22 +02:00
Nikita Popov
ca94d55a19
Mark DOM classes as not serializable
2021-08-10 14:22:26 +02:00
Máté Kocsis
da2cd931e5
Fix another DOMNameSpaceNode casing issue
2021-08-05 09:05:33 +02:00
Máté Kocsis
ee11a6065c
Fix DOMNameSpaceNode casing
2021-08-05 09:02:31 +02:00
Javier Eguiluz
7c9ac479eb
Fix some mismatches in preprocessor directive comments
2021-08-02 11:18:36 +02:00
Máté Kocsis
23b1c4a982
Migrate to PHP-Parser 4.12.0 and regenerate some arginfos
2021-07-22 09:40:16 +02:00
Nikita Popov
239446c5cf
Merge branch 'PHP-8.0'
...
* PHP-8.0:
dom_import_simplexml() cannot return null
2021-07-21 11:14:03 +02:00
Nikita Popov
a0893865b3
dom_import_simplexml() cannot return null
2021-07-21 11:13:37 +02:00
Nikita Popov
1602db2d3f
Fix return type of DOMNodeList::item()
...
It can also return DOMNameSpaceNode :(
2021-07-21 09:56:35 +02:00
Máté Kocsis
d9838e5453
Declare tentative return types for ext/dom ( #6985 )
2021-07-20 09:26:36 +02:00
Nikita Popov
c2a58ab07d
Throw DomException for DOM out-of-memory error conditions
...
A number of error conditions in DOM can only occur if libxml2 runs
out of memory, at least as far as I can see. In such cases we
currently do a silent "return false", which violates the DOM spec,
and which code is very unlikely to handle sensibly.
Switch these to throw a DomException with INVALID_STATE_ERR type.
This error type is chosen because we use for similar checks
elsewhere, for example:
a733b1ada7/ext/dom/documentfragment.c (L45-L48)
This changes some of the more obvious cases I spotted, but there are probably more.
Closes GH-7049.
2021-07-19 14:43:31 +02:00
Nikita Popov
b9893c2a18
Actually add the tentative type marker...
2021-07-16 16:33:47 +02:00
Nikita Popov
cad6144d18
Add minimial tentative types to dom
...
Just for implementations of Countable. These (no longer) suffer
from an overly broad return type.
2021-07-16 16:32:12 +02:00
Nikita Popov
4cf0269e4e
DOMNamedNodeMap::count() cannot return false
2021-07-16 16:27:53 +02:00
Nikita Popov
f089e8afbd
DOMNodeList::count() cannot return false
...
Refactor the implementation to make this obvious, and make use
of early returns.
2021-07-16 16:22:52 +02:00
Patrick Allaert
ac18dd0dc7
Prefer EXPECT over EXPECTF
2021-06-29 17:13:02 +02:00
Patrick Allaert
aff365871a
Fixed some spaces used instead of tabs
2021-06-29 11:30:26 +02:00
Nikita Popov
0ce2359233
Remove dom_nnodemap dtor_obj handler
...
Don't see any obvious reason why this would have to happen in a
dtor_obj handler. If there is a reason, we're lacking test
coverage for it.
2021-06-09 12:31:34 +02:00
Nikita Popov
12a4b2249d
Merge branch 'PHP-8.0'
...
* PHP-8.0:
Make tests compatible with libxml2 2.9.12
2021-05-26 13:21:43 +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
Máté Kocsis
7da2151f7a
Declare typed properties in ext/dom
...
Closes GH-7013
2021-05-26 12:23:43 +02:00
Máté Kocsis
a5e938dc86
Declare dynamic properties in ext/dom
...
Closes GH-6644
2021-05-18 15:12:35 +02:00
George Peter Banyard
e7135cb817
Use zend_string_equals_* API in a couple of more place
...
Closes GH-6979
2021-05-14 13:45:17 +01:00
KsaR
01b3fc03c3
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 |
2021-05-06 12:16:35 +02:00
George Peter Banyard
d842bc7e22
Refactor dom_has_feature() to use zend_string*
2021-04-09 18:45:08 +01:00
George Peter Banyard
5caaf40b43
Introduce pseudo-keyword ZEND_FALLTHROUGH
...
And use it instead of comments
2021-04-07 00:46:29 +01:00