#
a9661a52 |
| 15-Sep-2021 |
Aliaksandr Bystry |
Fix #70962: XML_OPTION_SKIP_WHITE strips embedded whitespace We must never strip embedded whitespace; we only need to skip values when that option is set, and make sure that we keep BC r
Fix #70962: XML_OPTION_SKIP_WHITE strips embedded whitespace We must never strip embedded whitespace; we only need to skip values when that option is set, and make sure that we keep BC regarding the different behavior for "cdata" and "complete" elements (for the former, the whole element is skipped; for the latter only the "value" key). We also fix erroneous `int` types which should actually be `size_t`. Co-authored-by: Christoph M. Becker <cmbecker69@gmx.de> Closes GH-7493.
show more ...
|
#
15e5cf85 |
| 13-Aug-2021 |
Christoph M. Becker |
Fix return value of xml_parse(_into_struct) for recursive parsing As of PHP 8.0.0, these functions are supposed to return int, so we cannot return `false`. Since calling the parser recu
Fix return value of xml_parse(_into_struct) for recursive parsing As of PHP 8.0.0, these functions are supposed to return int, so we cannot return `false`. Since calling the parser recursively is a programmer error, we throw an `Error` in this case. Cf. <https://github.com/php/php-src/pull/7363>.
show more ...
|
#
80a377e6 |
| 13-Aug-2021 |
Christoph M. Becker |
Fix #81351: xml_parse may fail, but has no error code The fix for bug #73151[1] cured the symptoms, but not the root cause, namely xmlParse() must not be called recursively. Since that
Fix #81351: xml_parse may fail, but has no error code The fix for bug #73151[1] cured the symptoms, but not the root cause, namely xmlParse() must not be called recursively. Since that bugfix also messed up the error handling, we basically revert it (but also simplify the return), and then prevent calling the parser recursively. [1] <https://github.com/php/php-src/pull/2166/commits/f2a8a8c068995a5d780882c556cedd53bce3827d> Co-authored-by: Nikita Popov <nikita.ppv@gmail.com> Closes GH-7363.
show more ...
|
#
b63ea104 |
| 16-Feb-2021 |
Nikita Popov |
Mark resource-like objects as non-comparable As these hold on to some internal resource, there can't be two "equal" objects with different identity. Make sure the lack of public prop
Mark resource-like objects as non-comparable As these hold on to some internal resource, there can't be two "equal" objects with different identity. Make sure the lack of public properties doesn't result in these being treated as always equal.
show more ...
|
Revision tags: php-8.0.0 |
|
#
a55402d0 |
| 24-Nov-2020 |
George Peter Banyard |
Rename XmlParser to XMLParser for consistency with XMLWriter/XMLReader
|
Revision tags: php-7.3.25, php-7.4.13, php-8.0.0RC5, php-7.4.13RC1, php-8.0.0RC4, php-7.3.25RC1, php-7.4.12, php-8.0.0RC3, php-7.3.24, php-8.0.0RC2, php-7.4.12RC1, php-7.3.24RC1 |
|
#
686d6c3d |
| 09-Oct-2020 |
Máté Kocsis |
Fix XmlParser classname in stubs
|
Revision tags: php-7.2.34, php-8.0.0rc1, php-7.4.11, php-7.3.23, php-8.0.0beta4, php-7.4.11RC1, php-7.3.23RC1, php-8.0.0beta3, php-7.4.10, php-7.3.22 |
|
#
3e800e99 |
| 24-Aug-2020 |
Máté Kocsis |
Move custom type checks to ZPP Closes GH-6034
|
Revision tags: php-8.0.0beta2, php-7.3.22RC1, php-7.4.10RC1 |
|
#
0af3f493 |
| 10-Aug-2020 |
Christoph M. Becker |
Fix #79922: Crash after multiple calls to xml_parser_free() We must not call `zend_list_delete()` in resource closer functions exposed to userland, because decreasing the refcount there
Fix #79922: Crash after multiple calls to xml_parser_free() We must not call `zend_list_delete()` in resource closer functions exposed to userland, because decreasing the refcount there leads to use-after-free scenarios. In this case, commit 4a42fbb worked for typical use-cases where `xml_parser_free()` has been called exactly once for the resource, because there is an internal zval (`->index`) referencing the same resource which already increased the refcount by one. However, when `xml_parser_free()` is called multiple times on the same XML parser resource, the resource would be freed prematurely. Instead we forcefully close the resource in `xml_parser_free()`. We also could decrease the refcount of the resource there, but that would require to call `xml_parser_free()` which is somewhat uncommon, and would be particularly bad wrt. PHP 8 where that function is a NOP, and as such doesn't have to be called. So we do no longer increase the refcount of the resource when copying it to the internal zval, and let the usualy refcounting semantics take care of the resource destruction. [1] <http://git.php.net/?p=php-src.git;a=commit;h=4a42fbbbc73aad7427aef5c89974d1833636e082>
show more ...
|
Revision tags: php-8.0.0beta1, php-7.4.9, php-7.2.33, php-7.3.21 |
|
#
4c89ed61 |
| 02-Aug-2020 |
Máté Kocsis |
Promote warnings to exceptions in ext/gettext, ext/sysvmsg and ext/xml Closes GH-5926
|
Revision tags: php-8.0.0alpha3, php-7.4.9RC1, php-7.3.21RC1, php-7.4.8, php-7.2.32, php-8.0.0alpha2, php-7.3.20, php-8.0.0alpha1, php-7.4.8RC1, php-7.3.20RC1, php-7.4.7, php-7.3.19, php-7.4.7RC1, php-7.3.19RC1, php-7.4.6, php-7.2.31, php-7.4.6RC1, php-7.3.18RC1, php-7.2.30, php-7.4.5, php-7.3.17 |
|
#
d92229d8 |
| 06-Apr-2020 |
Nikita Popov |
Implement named parameters From an engine perspective, named parameters mainly add three concepts: * The SEND_* opcodes now accept a CONST op2, which is the argument nam
Implement named parameters From an engine perspective, named parameters mainly add three concepts: * The SEND_* opcodes now accept a CONST op2, which is the argument name. For now, it is looked up by linear scan and runtime cached. * This may leave UNDEF arguments on the stack. To avoid having to deal with them in other places, a CHECK_UNDEF_ARGS opcode is used to either replace them with defaults, or error. * For variadic functions, EX(extra_named_params) are collected and need to be freed based on ZEND_CALL_HAS_EXTRA_NAMED_PARAMS. RFC: https://wiki.php.net/rfc/named_params Closes GH-5357.
show more ...
|
#
302933da |
| 07-Jul-2020 |
Nikita Popov |
Remove no_separation flag
|
#
632766a5 |
| 07-Jul-2020 |
Nikita Popov |
Disallow separation in a number of callbacks All of these clearly do not need separation support.
|
#
2b5de6f8 |
| 01-Jul-2020 |
Max Semenik |
Remove proto comments from C files Closes GH-5758
|
#
653e4ea1 |
| 14-May-2020 |
Nikita Popov |
Add flag to forbid dynamic property creation on internal classes While performing resource -> object migrations, we're adding defensive classes that are final, non-serializable and non-c
Add flag to forbid dynamic property creation on internal classes While performing resource -> object migrations, we're adding defensive classes that are final, non-serializable and non-clonable (unless they are, of course). This path adds a ZEND_ACC_NO_DYNAMIC_PROPERTIES flag, that also forbids the creation of dynamic properties on these objects. This is a subset of #3931 and targeted at internal usage only (though may be extended to userland at some point in the future). It's already possible to achieve this (what the removed WeakRef/WeakMap code does), but there's some caveats: First, this simple approach is only possible if the class has no declared properties, otherwise it's necessary to special-case those properties. Second, it's easy to make it overly strict, e.g. by forbidding isset($obj->prop) as well. And finally, it requires a lot of boilerplate code for each class. Closes GH-5572.
show more ...
|
#
15846ff1 |
| 17-Jun-2020 |
Nikita Popov |
Add ZVAL_OBJ_COPY macro For the common ZVAL_OBJ + GC_ADDREF pattern. This mirrors the existing ZVAL_STR_COPY API.
|
#
7fa0d300 |
| 20-May-2020 |
George Peter Banyard |
Fix [-Wundef] warning in XML extension
|
#
60412c37 |
| 03-May-2020 |
Máté Kocsis |
Fix UNKNOWN default values in ext/xml
|
#
c5fb4f07 |
| 13-Apr-2020 |
Máté Kocsis |
Generate function entries from stubs for a couple of extensions Migrates ext/standard, ext/tidy, ext/tokenizer, ext/xml, ext/xml_reader, and ext/xml_writer. Closes GH-5381.
|
#
21cfa03f |
| 05-Apr-2020 |
Máté Kocsis |
Generate function entries for another batch of extensions Closes GH-5352
|
Revision tags: php-7.4.5RC1, php-7.3.17RC1, php-7.3.18, php-7.4.4, php-7.2.29, php-7.3.16, php-7.4.4RC1, php-7.3.16RC1, php-7.4.3, php-7.2.28, php-7.3.15RC1, php-7.4.3RC1, php-7.3.15, php-7.2.27, php-7.4.2, php-7.3.14 |
|
#
d1764ca3 |
| 15-Jan-2020 |
Máté Kocsis |
Make error messages more consistent by fixing capitalization Closes GH-5066 As a first step, let's capitalize their initial letter when it is applicable.
|
Revision tags: php-7.3.14RC1, php-7.4.2RC1 |
|
#
aadd3aae |
| 03-Jan-2020 |
Máté Kocsis |
Use RETURN_THROWS() in various places
|
#
7b4a4d2a |
| 03-Jan-2020 |
Máté Kocsis |
Use RETURN_THROWS() after try_convert_to_string()
|
#
34570372 |
| 31-Dec-2019 |
Máté Kocsis |
Use RETURN_THROWS() during ZPP in most of the extensions Except for some bigger ones: reflection, sodium, spl
|
Revision tags: php-7.4.1, php-7.2.26, php-7.3.13, php-7.4.1RC1, php-7.3.13RC1, php-7.2.26RC1, php-7.4.0, php-7.2.25, php-7.3.12, php-7.4.0RC6, php-7.3.12RC1, php-7.2.25RC1, php-7.4.0RC5, php-7.1.33, php-7.2.24, php-7.3.11, php-7.4.0RC4, php-7.3.11RC1, php-7.2.24RC1 |
|
#
52376c17 |
| 04-Oct-2019 |
Mark |
Fix bug #78563 Make XmlParser final, unclonable and unserializable. Closes GH-4778.
|
Revision tags: php-7.4.0RC3 |
|
#
5d6e923d |
| 24-Sep-2019 |
Gabriel Caruso |
Remove mention of PHP major version in Copyright headers Closes GH-4732.
|