|
f0df3e6d
|
2023-12-21T14:35:18
|
|
tests: Try to fix RelaxNG test cases
These were added recently in ea695ac0 and 8074b881 but were a total mess
of symbolic links and apparently mixed up files.
Symbolic links don't work on Windows.
Try to salvage one of the tests.
|
|
8cd56317
|
2023-12-21T02:32:01
|
|
html: Don't close fd in htmlCtxtReadFd
Long-standing bug. The XML fix from 2003 was never ported to the HTML
parser. htmlReadFd was fixed with fe6890e2.
|
|
c9a46a91
|
2023-12-20T20:11:09
|
|
io: Rework initialization
|
|
9fbe46ba
|
2023-12-19T20:10:10
|
|
io: Consolidate error messages
|
|
0c7a364f
|
2023-12-18T21:55:50
|
|
error: Remove xmlSimpleError
|
|
f9f5c2d8
|
2023-12-18T21:44:06
|
|
xmllint: Don't use xmlGenericError
|
|
23345a1c
|
2023-12-19T19:52:28
|
|
io: Report IO errors through xmlCtxtErrIO
This is also a new public API function to be used in external entity
loaders.
|
|
e9c01c30
|
2023-12-18T21:41:30
|
|
runtest: Test with per-context error handlers
Only set the global error handler where needed.
Don't use xmlGenericError.
|
|
05d9bacd
|
2023-12-18T21:39:51
|
|
regexp: Improve error handling
Handle malloc failure from xmlRaiseError.
Use xmlRaiseMemoryError.
Remove argument from memory error handler.
Remove TODO macro.
|
|
b75fc1ab
|
2023-12-20T20:01:19
|
|
io: Rearrange code
|
|
e62b0dbd
|
2023-12-19T19:47:07
|
|
xzlib: Fix harmless unsigned integer overflow
|
|
ecb4c9fb
|
2023-12-18T21:32:49
|
|
misc: Improve error handling
Remove calls to generic error handler or use stderr for
- legacy deprecation warnings
- nanohttp, nanoftp in standalone mode
- memory debug messages
Use xmlRaiseMemoryError.
Remove TODO macro.
Don't raise errors in xmlmodule.c.
|
|
bc1e0306
|
2023-12-18T21:30:22
|
|
save: Improve error handling
Handle malloc failrue from xmlRaiseError.
Use xmlRaiseMemoryError.
Stop using xmlGenericError.
Remove argument from memory error handler.
Remove TODO macro.
|
|
1ef35663
|
2023-12-19T19:36:35
|
|
io: Always use unbuffered input
Before, we often used unbuffered input via the lzma or gzip handlers,
more or less inadvertently.
Change the default file handlers from buffered (stdc FILE) to unbuffered
(POSIX fds).
|
|
664db89e
|
2023-12-18T21:25:28
|
|
schematron: Improve error handling
Implement xmlSchematronVErr.
Handle malloc failure from xmlRaiseError.
Stop using xmlGenericError.
Remove argument from memory error handler.
Use xmlRaiseMemoryError.
Remove TODO macro.
|
|
0a658c0f
|
2023-12-20T23:53:19
|
|
io: Don't use "-" to read from stdin
To implement this feature on such a low level is a disaster waiting to
happen. Remove these checks from the IO code and move them to xmllint.
Note that the serialization API will still treat "-" as stdout.
|
|
13043691
|
2023-12-20T00:33:34
|
|
parser: Rename xmlErrParser to xmlCtxtErr
|
|
7e14c05d
|
2023-12-19T17:05:08
|
|
io: Fix detection of compressed streams
Make sure that we don't try to open uncompressed streams with a
compression handler in copying mode.
|
|
7e511f35
|
2023-12-19T15:41:37
|
|
io: Pass error codes from xmlFileOpenReal to xmlNewInputFromFile
This allows to report the reason why opening a file failed to the parser
context and improve error messages. Now we can also remove the stat call
before opening a file.
|
|
8d0aaf4b
|
2023-12-19T20:47:36
|
|
parser: Remove xmlErrEncoding
Use xmlFatalErr or xmlCtxtErrIO.
|
|
b2dbcc43
|
2023-12-19T13:33:59
|
|
io: Rework default callbacks
Register a dummy callback struct for default callbacks. Handle them in a
separate function which will later allow to return meaningful error
codes.
|
|
531d06ad
|
2023-12-18T22:48:24
|
|
error: Stop printing some errors by default
Unfortunately, it's long-standing behavior for libxml2 to print all
reported errors to stderr by default. This default behavior is now
partially disabled. If no error handler is set, only parser and
validation errors are passed to a generic error handler or printed to
stderr. Other errors are still available via xmlGetLastError and can be
captured with a structured error handler.
|
|
83c6aeef
|
2023-12-18T21:12:29
|
|
relaxng: Improve error handling
Pass RelaxNG structured error handler to XML parser.
Handle malloc failure from xmlRaiseError.
Remove argument from memory error handler.
Use xmlRaiseMemoryError.
Don't use xmlGenericError.
Remove TODO macro.
|
|
c5a8aef2
|
2023-12-18T19:12:08
|
|
error: Refactor error reporting
Introduce xmlStrVASPrintf, trying to handle buggy snprintf
implementations.
Introduce xmlSetError to set errors atomically.
Introduce xmlUpdateError to set an error, fixing up node, file and line.
Introduce helper function xmlRaiseMemoryError.
Make legacy error handlers call xmlReportError, avoiding checks in
xmlVRaiseError.
Remove fragile support for getting file and line info from XInclude
nodes.
|
|
be76b7df
|
2023-12-18T21:09:39
|
|
debug: Improve error handling
Print to debug output instead of global error handler.
|
|
25e22011
|
2023-12-18T20:58:42
|
|
c14n: Improve error handling
Handle malloc failure from xmlRaiseError.
Add context argument to error functions.
Remove argument from memory error handler.
Use xmlRaiseMemoryError.
|
|
6cb8420a
|
2023-12-18T20:54:26
|
|
catalog: Improve error handling
Handle malloc failures from xmlRaiseError.
Remove arguments from memor error handler.
Remove TODO macro.
Make debugging code print to stderr instead of xmlGenericError.
|
|
06c00f65
|
2023-12-18T19:51:32
|
|
schemas: Improve error handling
Introduce xmlSchema*ErrFull which checks for memory allocation failures
during error reporting.
Remove arguments from memory error handlers.
Use xmlRaiseMemoryError.
Remove TODO macro.
|
|
ed6596a4
|
2023-12-18T19:47:47
|
|
reader: Simplify error handling
Only use structured error handlers for parser, Schemas and RelaxNG
contexts. Also use structured error handler for XInclude context.
Remove TODO macro.
|
|
2829a21a
|
2023-12-18T19:43:55
|
|
xinclude: Improve error handling
Introduce xmlXIncludeSetErrorHandler allowing to set a structured error
handler for an XInclude context and forwarding errors from parser.
Remove arguments from memory error handlers.
Use xmlRaiseMemoryError.
|
|
954b8984
|
2023-12-18T19:39:38
|
|
xpath: Improve error handling
Introduce xmlXPathSetErrorHandler allowing to set a structured error
handler for an XPath context.
Remove arguments from memory error handlers.
Use xmlRaiseMemoryError.
Remove TODO, STRANGE and CHECK_CTXT macros.
Remove remaining uses of xmlGenericError.
|
|
54c70ed5
|
2023-12-18T19:31:29
|
|
parser: Improve error handling
Introduce xmlCtxtSetErrorHandler allowing to set a structured error for
a parser context. There already was the "serror" SAX handler but this
always receives the parser context as argument.
Start to use xmlRaiseMemoryError.
Remove useless arguments from memory error functions. Rename
xmlErrMemory to xmlCtxtErrMemory.
Remove a few calls to xmlGenericError.
Remove support for runtime entity debugging.
|
|
ed3ad3e1
|
2023-12-20T11:42:08
|
|
Makefile.am: omit $(top_builddir) from DEPS and LDADDS
BSD make is less liberal than GNU make in matching targets, and so it
tries to resolve the dependency `./libxml2.la` and fails to match the
target `libxml2.la`.
|
|
6fdc20ba
|
2023-12-20T18:33:29
|
|
xpath: Don't free nodes of XSLT result value trees
This feature hasn't been required for a long time and libxslt works
around by manually setting 'boolval' to 0.
|
|
bcefef20
|
2023-12-20T14:40:27
|
|
malloc-fail: Report malloc failure in xmlXPathNumberFunction
|
|
355fbe3a
|
2023-12-16T15:02:43
|
|
valid: Fix handling of enumerations
Make xmlFreeEnumeration, xmlCopyEnumeration and xmlDumpEnumeration
non-recursive. Report malloc failure in xmlCopyEnumeration.
|
|
6ae98ebc
|
2023-12-15T14:53:44
|
|
malloc-fail: Report malloc failure in xmlXPathTranslateFunction
|
|
69d88566
|
2023-12-15T14:46:35
|
|
malloc-fail: Fix OOM error handling in xmlSwitchInputEncoding
Make sure that in->buffer won't be set to NULL if a memory allocation fails.
Short-lived regression.
|
|
6c8acdec
|
2023-12-14T13:37:43
|
|
save: Fix build --without-html
Fixes #646
|
|
5d2dbe79
|
2023-12-14T13:37:25
|
|
parser: Fix build --without-output
Fixes #647
|
|
d6812f3a
|
2023-12-14T13:35:13
|
|
Fix compiler warnings with disabled modules
|
|
1c106edf
|
2023-12-13T23:56:19
|
|
parser: Allow recovery in xmlParseInNodeContext
Should fix #645.
|
|
023aecc4
|
2023-12-13T23:45:53
|
|
encoding: Support ASCII in xmlLookupCharEncodingHandler
Return our built-in ASCII handler. This was never implemented and
triggered the new and stricter error checks.
|
|
79a9938d
|
2023-12-13T17:25:37
|
|
parser: Don't grow or shrink pull parser memory buffers
Readd check for memory buffers without a read callback to avoid
XML_MAX_LOOKUP_LIMIT errors if users provide a custom input buffer.
Regressed with commit 834b8123 and later changes.
|
|
0e201722
|
2023-12-13T14:14:15
|
|
python: Fix callback signature
Found with UBSan.
|
|
862e9ce0
|
2023-12-13T14:53:44
|
|
malloc-fail: Fix use-of-uninitialized-value in xmlParseConditionalSections
Short-lived regression.
|
|
0ea47327
|
2023-12-13T14:44:29
|
|
malloc-fail: Fix memory leak in xmlNodeGetBaseSafe
Short-lived regression.
|
|
c2bbeed1
|
2023-12-12T23:51:32
|
|
io: Fix memory lifetime issue with input buffers
xmlParserInputBufferCreateMem must make a copy of the buffer.
This fixes a regression from 2.11 which could cause reads from freed
memory depending on the use case.
Undeprecate xmlParserInputBufferCreateStatic which can avoid copying
the whole buffer.
|
|
0e4a11bb
|
2023-12-12T22:00:20
|
|
doc: Add notes about breaking ABI in MAINTAINERS.md
|
|
8e13133d
|
2023-12-12T15:13:11
|
|
malloc-fail: Don't truncate parser input buffer
We now follow a laissez-faire approach when handling malloc failures and
removed many checks whether the parser was stopped by such an error.
This means the parser input must not be truncated to avoid out-of-bounds
reads.
Short-lived regression.
|
|
8583b9f1
|
2023-12-12T15:00:44
|
|
malloc-fail: Fix null deref in xmlXPathTranslateFunction
Short-lived regression.
|
|
5c06f4e3
|
2023-12-12T14:37:17
|
|
malloc-fail: Fix erroneous reports in xmlNodeListGetString
Short-lived regression.
|
|
4e23892c
|
2023-12-10T19:13:26
|
|
fuzz: Enable value profile
|
|
abd74186
|
2023-12-10T19:07:32
|
|
html: Report malloc failures
Fix many places where malloc failures aren't reported.
Stop checking for ctxt->instate.
|
|
e115194e
|
2023-12-10T18:32:21
|
|
fuzz: Check malloc failure reports in XML fuzzers
|
|
9684e7a0
|
2023-12-10T18:29:44
|
|
writer: Don't call SAX error handler directly
|
|
61b4c42f
|
2023-12-10T18:27:42
|
|
valid: Report malloc failures
Fix many places where malloc failures aren't reported.
|
|
157df344
|
2023-12-10T18:23:53
|
|
xmlreader: Report malloc failures
Fix many places where malloc failures aren't reported.
Introduce a new API function xmlTextReaderGetLastError.
|
|
e632d9f0
|
2023-12-10T16:56:16
|
|
xpath: Report malloc failures
Fix many places where malloc failures aren't reported.
Rework XPath object cache to store free objects in a linked list to
avoid allocating an additional array. Remove some unneeded object pools.
|
|
f3455ecd
|
2023-12-10T15:46:53
|
|
error: Report malloc failures
Don't ignore malloc failures in xmlRaiseError and xmlCopyError.
Don't print filename if context has no input.
Introduce xmlVRaiseError taking a va_list.
|
|
aca16fb3
|
2023-12-10T16:37:43
|
|
tree: Report malloc failures
Fix many places where malloc failures aren't reported.
Make some API function return an error code. Changing the return type
from void to int is technically an ABI break but should be safe on most
platforms.
- xmlNodeSetContent
- xmlNodeSetContentLen
- xmlNodeAddContent
- xmlNodeAddContentLen
- xmlNodeSetBase
Introduce new API functions that return a separate error code if a
memory allocation fails.
- xmlNodeGetAttrValue
- xmlNodeGetBaseSafe
- xmlGetNsListSafe
Introduce private functions xmlTreeEnsureXMLDecl and xmlSplitQName4.
Don't report low-level errors to the global error handler.
Fix tree
Introduce xmlGetNsListSafe
Fix tree
|
|
e34a49b7
|
2023-12-10T16:29:31
|
|
valid: Improve addition and deletion of IDs
Introduce a new API function xmlAddIDSafe that returns a separate error
code if a memory allocation fails.
Store a pointer to the ID struct in xmlAttr so attributes can be
freed without allocating memory. It's impossible to report malloc
failures in deallocation code.
|
|
78eab7a1
|
2023-12-10T18:15:59
|
|
xinclude: Report malloc failures
Fix many places where malloc failures aren't reported.
Introduce a new API function xmlXIncludeGetLastError.
|
|
e58ea29f
|
2023-12-10T18:10:42
|
|
SAX2: Report malloc failures
Fix many places where malloc failures aren't reported.
Improve error handling when parsing entity declarations.
Fixes #308.
|
|
f19a9510
|
2023-12-10T17:50:22
|
|
parser: Report malloc failures
Fix many places where malloc failures aren't reported.
Make xmlErrMemory public. This is useful for custom external entity
loaders.
Introduce new API function xmlSwitchEncodingName.
Change the way how we store whether the the parser is stopped. This used
to be signaled by setting ctxt->instate to XML_PARSER_EOF which was
misdesigned and error-prone. Set ctxt->disableSAX to 2 instead and
introduce a macro PARSER_STOPPED. Also stop to remove parser inputs in
xmlHaltParser. This allows to remove many checks of ctxt->instate.
Introduce xmlErrParser to handle errors if a parser context is
available.
|
|
0d97e439
|
2023-12-10T17:14:57
|
|
save: Report malloc failures
Fix places where malloc failures aren't report.
Introduce a new API function xmlSaveFinish which returns an error code.
|
|
1a354d5b
|
2023-12-10T17:09:45
|
|
regexp: Report malloc failures
Fix places where malloc failures aren't reported.
|
|
e1560990
|
2023-12-10T15:30:47
|
|
pattern: Report malloc failures
Fix places where malloc failures aren't reported.
Introduce a new API function xmlPatternCompileSafe that returns a
separate error code if a memory allocation fails.
|
|
a1f7ecae
|
2023-12-10T15:25:42
|
|
entities: Report malloc failures
Fix places where malloc failures aren't reported.
Introduce new API function xmlAddEntity that returns separate error
codes.
Don't invoke global error handler for low-level errors which should be
handled by higher layers.
Invalid redelcaration warnings will be fixed later.
|
|
2e5d273b
|
2023-12-10T15:21:49
|
|
string: Report malloc failures in xmlStrncat
Don't ignore malloc failures silently.
|
|
c37a9051
|
2023-12-10T15:18:55
|
|
buf: Stop invoking global error handler
Memory errors from low-level code should be handled by higher layers.
|
|
f313848b
|
2023-12-10T15:14:15
|
|
hash: Report malloc failures
Introduce new API functions that return a separate error code if a
memory allocation fails.
- xmlHashAdd
- xmlHashCopySafe
|
|
bd5ad030
|
2023-12-10T14:56:21
|
|
encoding: Report malloc failures
Introduce new API functions that return a separate error code if a
memory allocation fails.
- xmlOpenCharEncodingHandler
- xmlLookupCharEncodingHandler
Fix a few places where malloc failures weren't reported.
|
|
da996c8d
|
2023-12-10T14:46:59
|
|
uri: Report malloc failures
Fix many places where malloc failures weren't reported, for example
after calling xmlStrdup.
Introduce new public API functions that return a separate error code if
a memory allocation fails:
- xmlParseURISafe
- xmlBuildURISafe
- xmlBuildRelativeURISafe
Update the fuzzer to check whether malloc failures are reported.
|
|
7d446e97
|
2023-12-08T12:13:49
|
|
parser: Fix namespaces redefined from default attributes
This regressed in commit e0dd330b.
Also fixes a long-standing issue where namespaces from default
attributes weren't added if they match an existing namespace.
Fixes #643.
|
|
df0b540b
|
2023-12-07T14:40:13
|
|
include: Rename XML_EMPTY helper macro
Avoid name clash with downstream projects.
|
|
a9738e31
|
2023-12-07T14:15:29
|
|
include: Move declaration of xmlInitGlobals
Fix downstream build issues after reworking globals.h.
|
|
52703ffd
|
2023-12-07T12:04:02
|
|
include: Add missing includes
|
|
9122ad0c
|
2023-12-06T19:56:50
|
|
include: Move globals from xmlsave.h to parser.h
Fix downstream build issues after reworking globals.h.
|
|
c011e760
|
2023-12-06T01:09:31
|
|
globals: Remove unused globals from thread storage
Setting these deprecated globals hasn't had an effect for a long time.
Make them constants. This reduces the size of per-thread storage from
~700 to ~250 bytes.
|
|
be558647
|
2023-12-05T21:25:09
|
|
autotools: Fix option description
|
|
cf6e58d6
|
2023-12-05T20:40:20
|
|
build: Disable compiler TLS by default
The global struct is quite large (~700 bytes on 64-bit systems which
will be allocated for each thread whether it uses libxml2 or not) and
already close to the total size limit on some platforms.
Disable compiler TLS by default.
|
|
7f00273c
|
2023-12-01T19:21:17
|
|
parser: Fix invalid free in xmlParseBalancedChunkMemoryRecover
Set the dictionary for newDoc in xmlParseBalancedChunkMemoryRecover.
This is a long-standing bug which was masked by
- xmlParseBalancedChunkMemoryRecover changing the document of the root
node. This is a really bad idea, resulting in a mismatch between
ctxt->myDoc and ctxt->node->doc.
- SAX2.c preferring ctxt->node->doc over ctxt->myDoc until commit
a31e1b06.
Fixes #641.
|
|
502971cc
|
2023-12-01T17:49:48
|
|
tree: Another fix related to #538
Should fix #639.
|
|
4c178040
|
2023-12-01T17:19:55
|
|
globals: Disable TLS in static Windows builds
The cleanup callback would run after TLS was deallocated.
|
|
c7629c9e
|
2023-11-30T16:52:34
|
|
parser: Clarify documentation regarding xmlReadMemory buffer size
Fixes #638.
|
|
e3959461
|
2023-11-30T16:15:46
|
|
html: Reenable buggy detection of XML declarations
Switch to UTF-8 if a document starts with '<?xm' to match old behavior.
Also enable this check in the push parser.
Fixes #637.
|
|
e2ce828c
|
2023-11-28T16:51:06
|
|
cmake: Update config.h.cmake.in
This should enable TLS and destructors.
|
|
5cffba83
|
2023-11-28T15:34:28
|
|
Rework va_copy fallback
va_copy is a macro, so it can be detected without a feature test.
Fallback to __va_copy or memcpy.
|
|
8707838e
|
2023-11-28T13:27:25
|
|
tree: Fix #583 again
Only set doc->intSubset after successful copy to avoid dangling pointers
in error case.
|
|
de3f7014
|
2023-11-28T13:01:38
|
|
tree: Fix regression when copying DTDs
This reverts commit d39f78069dff496ec865c73aa44d7110e429bce9.
Fixes #634.
|
|
ec7f6506
|
2023-11-27T18:03:01
|
|
tests: Fix tests --with-valid --without-xinclude
Fix a copy/paste error from commit 4eba9f9c.
Fixes #632.
|
|
1c7f4c70
|
2023-11-27T12:10:09
|
|
nanohttp: Deprecate public API
The long-term plan is to remove the built-in HTTP client. There are
still a few downstream projects that use libxml2's client for other
purposes. These users should get deprecation warnings now.
|
|
de9af3e5
|
2023-11-27T12:53:58
|
|
DOAP: Add download and issue tracker entries
|
|
75eb9327
|
2023-11-27T12:53:05
|
|
DOAP: Replace defunct mailing list with Discourse support forum
|
|
43b511fa
|
2023-11-26T14:31:39
|
|
parser: Make CRLF increment line number
Partial revert of cb927e85 fixing CRLFs not incrementing the line
number.
This requires to rework xmlParseQNameHashed. The original implementation
prompted the change to xmlCurrentChar which really shouldn't modify the
'cur' pointer as side effect. But the NEXTL macro relies on this
behavior.
Ultimately, we should reintroduce the change to xmlCurrentChar and fix
the NEXTL macro. This will lead to single CRs incrementing the line
number as well which seems more consistent.
Fixes #628.
|
|
455c61d6
|
2023-11-23T15:59:41
|
|
Remove VMS support
This was last updated 10 years ago and is most likely broken.
|
|
7d6969d9
|
2023-11-23T15:48:52
|
|
Remove Trio
Trio is a rather old cross-platform printf library which was bundled with
libxml2. It was needed for ancient pre-C99 systems without snprintf and
should be safe to remove these days.
|
|
f5d4d33b
|
2023-11-23T15:25:54
|
|
tests: Regenerate testapi.c
|
|
e42faa6d
|
2023-11-23T15:25:04
|
|
tests: Remove special handling of const pointers in gentest.py
|