#
5c124939 |
| 08-Oct-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix GH-16292: Segmentation fault in ext/xmlreader/php_xmlreader.c:1282 3 issues: 1) RETURN_NULL() was used via the macro NODE_GET_OBJ(), but the function returns false on failure
Fix GH-16292: Segmentation fault in ext/xmlreader/php_xmlreader.c:1282 3 issues: 1) RETURN_NULL() was used via the macro NODE_GET_OBJ(), but the function returns false on failure and cannot return null according to its stub. 2) The struct layout of the different implementors of libxml only guarantees overlap between the node pointer and the document reference, so accessing the std zend_object may not work. 3) DOC_GET_OBJ() wasn't using ZSTR_VAL(). Closes GH-16307.
show more ...
|
#
f4f2fe51 |
| 28-Sep-2024 |
Máté Kocsis |
Fix property_exists() and unset() for XMLReader (#16079)
|
#
888eb370 |
| 14-Sep-2024 |
Peter Kokot |
Fix -Wundef/C4668 warnings (#15853) - ZTS is either undefined or defined (to 1) - PHP_WIN32 is either undefined or defined (to 1) - HAVE_LIBEDIT is either undefined or defined (to 1)
|
#
25d76162 |
| 06-Sep-2024 |
Bob Weinand |
Make internal run_time_cache a persistent allocation (#15040) We also add zend_map_ptr_static, so that we do not incur the overhead of constantly recreating the internal run_time_cache point
Make internal run_time_cache a persistent allocation (#15040) We also add zend_map_ptr_static, so that we do not incur the overhead of constantly recreating the internal run_time_cache pointers on each request. This mechanism might be extended for mutable_data of internal classes too.
show more ...
|
#
5853cdb7 |
| 20-Aug-2024 |
Gina Peter Bnayard |
Use "must not" instead of "cannot" wording
|
#
e7c4d54d |
| 18-Aug-2024 |
Gina Peter Bnayard |
Use new helper function for "cannot be empty" ValueErrors
|
#
e0a2e2e5 |
| 28-Jul-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix GH-15123: var_dump doesn't actually work on XMLReader (#15130)
|
#
a26ec58f |
| 16-Jul-2024 |
Ilija Tovilo |
De-duplicate readonly property modification error message (#14972)
|
#
4cab7f90 |
| 27-Jun-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
[RFC] Implement XMLReader::fromUri() and XMLReader::fromString()
|
#
acf27628 |
| 17-Apr-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
[RFC] Add stream open functions to XML{Reader,Writer} RFC: https://wiki.php.net/rfc/xmlreader_writer_streams
|
#
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 ...
|
#
dd4e2ef5 |
| 15-Jun-2024 |
Peter Kokot |
Update ext/xmlreader dependencies (#14572) - ext/dom is optional (using HAVE_DOM for cases when dom is build as a shared extension to make it required in that case) - ext/libxml is
Update ext/xmlreader dependencies (#14572) - ext/dom is optional (using HAVE_DOM for cases when dom is build as a shared extension to make it required in that case) - ext/libxml is required
show more ...
|
#
15813d69 |
| 10-May-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix GH-14183: XMLReader::open() can't be overridden We should only return the override if the internal static method is matched. Closes GH-14194.
|
#
b3700e29 |
| 20-Apr-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Simplify prop handler of XMLReader (#14023) As XMLReader only exposes a single class, and the property handlers are statically set, we don't need to store the pointer to the property
Simplify prop handler of XMLReader (#14023) As XMLReader only exposes a single class, and the property handlers are statically set, we don't need to store the pointer to the property handler table inside the object. This simplifies the code and reduces the memory required for XMLReader.
show more ...
|
#
63bb04e5 |
| 09-Mar-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Simplify DOM_RET_OBJ macro
|
#
6d721b21 |
| 25-Feb-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Use string literal equality helper function in xmlreader_get_method
|
#
da1a9402 |
| 25-Feb-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Set xmlreader property handler hash size to a precalculated value
|
#
7f080d35 |
| 25-Feb-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Don't put xmlreader prop handler data on the heap
|
#
06a89a91 |
| 25-Feb-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Make readonly error message consistent
|
#
b68b55be |
| 25-Feb-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Remove unused write_func in php_xmlreader.c
|
#
586adf96 |
| 25-Feb-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Remove unimplemented, unreferenced function from php_xmlreader.c
|
#
900f0cab |
| 24-Oct-2023 |
icy17 <1061499390@qq.com> |
Fix null pointer dereferences in case of allocation failure Closes GH-12506.
|
#
c283c3ab |
| 15-Jul-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Sanitize libxml2 globals before parsing Fixes GHSA-3qrf-m4j2-pcrr. To parse a document with libxml2, you first need to create a parsing context. The parsing context contains par
Sanitize libxml2 globals before parsing Fixes GHSA-3qrf-m4j2-pcrr. To parse a document with libxml2, you first need to create a parsing context. The parsing context contains parsing options (e.g. XML_NOENT to substitute entities) that the application (in this case PHP) can set. Unfortunately, libxml2 also supports providing default set options. For example, if you call xmlSubstituteEntitiesDefault(1) then the XML_NOENT option will be added to the parsing options every time you create a parsing context **even if the application never requested XML_NOENT**. Third party extensions can override these globals, in particular the substitute entity global. This causes entity substitution to be unexpectedly active. Fix it by setting the parsing options to a sane known value. For API calls that depend on global state we introduce PHP_LIBXML_SANITIZE_GLOBALS() and PHP_LIBXML_RESTORE_GLOBALS(). For other APIs that work directly with a context we introduce php_libxml_sanitize_parse_ctxt_options().
show more ...
|
#
cad47be8 |
| 30-Jun-2023 |
Bob Weinand |
Fix GH-11548 (Argument corruption when calling XMLReader::open or XMLReader::XML non-statically with observer active)
|
#
ec10b28d |
| 27-Jan-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
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 ap
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.
show more ...
|