Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 13043691 | 2023-12-20 00:33:34 | parser: Rename xmlErrParser to xmlCtxtErr | ||
| 8d0aaf4b | 2023-12-19 20:47:36 | parser: Remove xmlErrEncoding Use xmlFatalErr or xmlCtxtErrIO. | ||
| 23345a1c | 2023-12-19 19:52:28 | io: Report IO errors through xmlCtxtErrIO This is also a new public API function to be used in external entity loaders. | ||
| 7e511f35 | 2023-12-19 15: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. | ||
| bc1e0306 | 2023-12-18 21: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. | ||
| 664db89e | 2023-12-18 21: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. | ||
| b2dbcc43 | 2023-12-19 13: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. | ||
| e62b0dbd | 2023-12-19 19:47:07 | xzlib: Fix harmless unsigned integer overflow | ||
| 531d06ad | 2023-12-18 22: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. | ||
| 0c7a364f | 2023-12-18 21:55:50 | error: Remove xmlSimpleError | ||
| 9fbe46ba | 2023-12-19 20:10:10 | io: Consolidate error messages | ||
| 1ef35663 | 2023-12-19 19: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). | ||
| f9f5c2d8 | 2023-12-18 21:44:06 | xmllint: Don't use xmlGenericError | ||
| e9c01c30 | 2023-12-18 21:41:30 | runtest: Test with per-context error handlers Only set the global error handler where needed. Don't use xmlGenericError. | ||
| 7e14c05d | 2023-12-19 17: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. | ||
| 05d9bacd | 2023-12-18 21:39:51 | regexp: Improve error handling Handle malloc failure from xmlRaiseError. Use xmlRaiseMemoryError. Remove argument from memory error handler. Remove TODO macro. | ||
| ecb4c9fb | 2023-12-18 21: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. | ||
| 83c6aeef | 2023-12-18 21: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. | ||
| be76b7df | 2023-12-18 21:09:39 | debug: Improve error handling Print to debug output instead of global error handler. | ||
| 25e22011 | 2023-12-18 20: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-18 20: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-18 19: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-18 19: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-18 19: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-18 19: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-18 19: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. | ||
| c5a8aef2 | 2023-12-18 19: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. | ||
| ed3ad3e1 | 2023-12-20 11: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-20 18: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-20 14:40:27 | malloc-fail: Report malloc failure in xmlXPathNumberFunction | ||
| 355fbe3a | 2023-12-16 15:02:43 | valid: Fix handling of enumerations Make xmlFreeEnumeration, xmlCopyEnumeration and xmlDumpEnumeration non-recursive. Report malloc failure in xmlCopyEnumeration. | ||
| 6ae98ebc | 2023-12-15 14:53:44 | malloc-fail: Report malloc failure in xmlXPathTranslateFunction | ||
| 69d88566 | 2023-12-15 14: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-14 13:37:43 | save: Fix build --without-html Fixes #646 | ||
| 5d2dbe79 | 2023-12-14 13:37:25 | parser: Fix build --without-output Fixes #647 | ||
| d6812f3a | 2023-12-14 13:35:13 | Fix compiler warnings with disabled modules | ||
| 1c106edf | 2023-12-13 23:56:19 | parser: Allow recovery in xmlParseInNodeContext Should fix #645. | ||
| 023aecc4 | 2023-12-13 23: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-13 17: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-13 14:14:15 | python: Fix callback signature Found with UBSan. | ||
| 862e9ce0 | 2023-12-13 14:53:44 | malloc-fail: Fix use-of-uninitialized-value in xmlParseConditionalSections Short-lived regression. | ||
| 0ea47327 | 2023-12-13 14:44:29 | malloc-fail: Fix memory leak in xmlNodeGetBaseSafe Short-lived regression. | ||
| c2bbeed1 | 2023-12-12 23: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-12 22:00:20 | doc: Add notes about breaking ABI in MAINTAINERS.md | ||
| 8e13133d | 2023-12-12 15: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-12 15:00:44 | malloc-fail: Fix null deref in xmlXPathTranslateFunction Short-lived regression. | ||
| 5c06f4e3 | 2023-12-12 14:37:17 | malloc-fail: Fix erroneous reports in xmlNodeListGetString Short-lived regression. | ||
| 4e23892c | 2023-12-10 19:13:26 | fuzz: Enable value profile | ||
| abd74186 | 2023-12-10 19:07:32 | html: Report malloc failures Fix many places where malloc failures aren't reported. Stop checking for ctxt->instate. | ||
| e115194e | 2023-12-10 18:32:21 | fuzz: Check malloc failure reports in XML fuzzers | ||
| 9684e7a0 | 2023-12-10 18:29:44 | writer: Don't call SAX error handler directly | ||
| 61b4c42f | 2023-12-10 18:27:42 | valid: Report malloc failures Fix many places where malloc failures aren't reported. | ||
| 157df344 | 2023-12-10 18:23:53 | xmlreader: Report malloc failures Fix many places where malloc failures aren't reported. Introduce a new API function xmlTextReaderGetLastError. | ||
| 78eab7a1 | 2023-12-10 18:15:59 | xinclude: Report malloc failures Fix many places where malloc failures aren't reported. Introduce a new API function xmlXIncludeGetLastError. | ||
| e58ea29f | 2023-12-10 18: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-10 17: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-10 17: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-10 17:09:45 | regexp: Report malloc failures Fix places where malloc failures aren't reported. | ||
| e632d9f0 | 2023-12-10 16: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-10 15: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-10 16: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-10 16: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. | ||
| a1f7ecae | 2023-12-10 15: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-10 15:21:49 | string: Report malloc failures in xmlStrncat Don't ignore malloc failures silently. | ||
| c37a9051 | 2023-12-10 15:18:55 | buf: Stop invoking global error handler Memory errors from low-level code should be handled by higher layers. | ||
| f313848b | 2023-12-10 15: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-10 14: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-10 14: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. | ||
| e1560990 | 2023-12-10 15: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. | ||
| 7d446e97 | 2023-12-08 12: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-07 14:40:13 | include: Rename XML_EMPTY helper macro Avoid name clash with downstream projects. | ||
| a9738e31 | 2023-12-07 14:15:29 | include: Move declaration of xmlInitGlobals Fix downstream build issues after reworking globals.h. | ||
| 52703ffd | 2023-12-07 12:04:02 | include: Add missing includes | ||
| 9122ad0c | 2023-12-06 19:56:50 | include: Move globals from xmlsave.h to parser.h Fix downstream build issues after reworking globals.h. | ||
| c011e760 | 2023-12-06 01: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-05 21:25:09 | autotools: Fix option description | ||
| cf6e58d6 | 2023-12-05 20: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-01 19: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-01 17:49:48 | tree: Another fix related to #538 Should fix #639. | ||
| 4c178040 | 2023-12-01 17:19:55 | globals: Disable TLS in static Windows builds The cleanup callback would run after TLS was deallocated. | ||
| c7629c9e | 2023-11-30 16:52:34 | parser: Clarify documentation regarding xmlReadMemory buffer size Fixes #638. | ||
| e3959461 | 2023-11-30 16: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-28 16:51:06 | cmake: Update config.h.cmake.in This should enable TLS and destructors. | ||
| 5cffba83 | 2023-11-28 15: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-28 13:27:25 | tree: Fix #583 again Only set doc->intSubset after successful copy to avoid dangling pointers in error case. | ||
| de3f7014 | 2023-11-28 13:01:38 | tree: Fix regression when copying DTDs This reverts commit d39f78069dff496ec865c73aa44d7110e429bce9. Fixes #634. | ||
| ec7f6506 | 2023-11-27 18:03:01 | tests: Fix tests --with-valid --without-xinclude Fix a copy/paste error from commit 4eba9f9c. Fixes #632. | ||
| 1c7f4c70 | 2023-11-27 12: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-27 12:53:58 | DOAP: Add download and issue tracker entries | ||
| 75eb9327 | 2023-11-27 12:53:05 | DOAP: Replace defunct mailing list with Discourse support forum | ||
| 43b511fa | 2023-11-26 14: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-23 15:59:41 | Remove VMS support This was last updated 10 years ago and is most likely broken. | ||
| 7d6969d9 | 2023-11-23 15: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-23 15:25:54 | tests: Regenerate testapi.c | ||
| e42faa6d | 2023-11-23 15:25:04 | tests: Remove special handling of const pointers in gentest.py | ||
| ff6c3188 | 2023-11-23 15:22:59 | include: Remove useless 'const' from function arguments | ||
| 19b9c59b | 2023-11-22 08:25:56 | Regenerate testapi.c | ||
| a3971573 | 2023-11-22 08:25:27 | Don't let gentest.py cast types to 'const somethingPtr' to avoid -Wignored-qualifiers | ||
| 873c1711 | 2023-11-22 08:23:00 | Avoid EDG -Wignored-qualifiers warnings on wrong 'const *' to '* const' conversions | ||
| 6bc86405 | 2023-11-09 02:04:15 | Avoid EDG deprecation warnings for LCC compiler |