|
075cee9e
|
2022-10-29T15:38:16
|
|
xinclude: Fix memory leak when fuzzing
This only affects the fuzzing build mode.
|
|
b59ff587
|
2022-10-28T20:08:02
|
|
xinclude: Fix memory leak in xmlXIncludeLoadDoc
Regressed in a recent commit.
|
|
80e43d1b
|
2022-10-24T01:08:25
|
|
gitlab-ci: Reenable LeakSanitizer
Let's hope it works on the asan runners.
|
|
bffc67d1
|
2022-10-24T20:24:17
|
|
threads: Remove check for pthread_equal
GCC 12 fixed -Waddress warnings for inline functions, resulting in
warnings when comparing pthread_equal with NULL. Simply remove the
check and assume that pthread_equal is available if all the other
functions are. This code is only enabled on Linux anyway.
|
|
20e2fb4c
|
2022-10-23T17:52:29
|
|
xinclude: Avoid creation of subcontexts
Don't create subcontext in xmlXIncludeRecurseDoc. Save and restore 'doc'
and 'incTab' instead.
Make xmlXIncludeLoadFallback call xmlXIncludeCopyNode which seems safer
than xmlXIncludeDoProcess since the latter may modify the document.
This should also be more performant since we need to copy the whole
fallback subtree anyway. Also make sure to avoid replacements in
fallback elements in xmlXIncludeDoProcess.
|
|
d767c6be
|
2022-10-23T23:26:31
|
|
gitlab-ci: Fix llvm-symbolizer
Newer versions of llvm-symbolizer require libxml2 themselves. Running
a test program with LD_LIBRARY_PATH set to .libs makes llvm-symbolizer
pick up the tested development version of libxml2 which breaks
completely if the build is instrumented with ASan. Add a wrapper script
that invokes llvm-symbolizer with an empty LD_LIBRARY_PATH.
|
|
66f781cf
|
2022-10-24T14:56:26
|
|
gitlab-ci: Upgrade image to Ubuntu 22.10, reenable MSan
MSan and 64-bit stat was broken on Ubuntu 22.04 (glibc >= 2.33,
LLVM <= 14), see https://github.com/llvm/llvm-project/commit/1f82d0f7
|
|
128c0261
|
2022-10-25T19:23:07
|
|
warnings: Fix -Wstrict-prototypes warning
|
|
b6f1298a
|
2022-10-24T20:47:10
|
|
warnings: Remove set-but-unused variables
Fixes compiler warnings with clang 15.
|
|
010b682f
|
2022-10-23T16:02:48
|
|
xinclude: Rework XInclude cache
Use a single cache stored in the "root" context, avoiding cache misses
in some scenarios. Separate the cache from the "include" table. Rework
recursion check.
|
|
3b68aa47
|
2022-10-23T16:54:22
|
|
xinclude: Remove unused 'doc' argument from xmlXIncludeDoProcess
|
|
2fc8d123
|
2022-10-22T19:08:43
|
|
xinclude: Make xmlXIncludeCopyNode non-recursive
Avoid call stack overflows.
Also switch to xmlStaticCopyNode which avoids duplicate namespace
definitions.
|
|
bc32c386
|
2022-10-22T17:48:25
|
|
xinclude: Don't pass documents to xmlXIncludeCopyNode
Extract the root element directly in xmlXIncludeCopyXPointer.
|
|
46e4cfb6
|
2022-10-22T19:20:20
|
|
xinclude: Remove unused source and target arguments
source is unused, target is always ctxt->doc.
|
|
d2ed1e4f
|
2022-10-22T16:50:18
|
|
xinclude: Limit recursion depth
This avoids call stack overflows.
|
|
0b09f132
|
2022-10-23T14:59:31
|
|
xinclude: Remove unused member 'url' from xmlXIncludeCtxt
|
|
966f5ebd
|
2022-10-23T14:14:39
|
|
xinclude: Remove inefficient refcounting scheme
xinclude.c used to implement a refcounting mechanism for documents which
could result in documents being freed too early and reloaded. We really
should keep parsed and processed documents around for as long as
possible to avoid reprocessing.
|
|
fe0194d5
|
2022-10-23T13:57:33
|
|
xinlucde: Pass xmlXIncludeRefPtrs directly
Stop passing indices into the include table.
|
|
0fc5be0a
|
2022-10-23T13:55:29
|
|
xinclude: Remove dead code in xmlXIncludeLoadDoc
The include table was already scanned for entries with a matching URI a
couple of lines before.
|
|
34496f26
|
2022-10-22T16:09:21
|
|
xinclude: Test for inclusion loops
|
|
bad30e2b
|
2022-10-21T17:27:23
|
|
xinclude: Copy included docs with xmlDocCopyNode
All includes should already be expanded after calling
xmlXIncludeRecurseDoc, so there's no need to invoke the more costly
xmlXIncludeCopyNodeList. Now xmlXIncludeCopyNode is only used to copy
XPointer fragments.
|
|
bc267cb9
|
2022-10-22T02:19:22
|
|
xinclude: Expand includes in xmlXIncludeCopyNode
This should make nested includes work reliably.
Fixes #424.
|
|
5e4b751f
|
2022-10-22T02:17:39
|
|
xinclude: Make xmlXIncludeCopyNode return a node list
Convert callers of xmlXIncludeCopyNode to handle node lists.
|
|
64eaf4d4
|
2022-10-21T16:05:29
|
|
xinclude: Make xmlXIncludeCopyNode iterate all descendants
|
|
5f664ab2
|
2022-10-21T16:17:48
|
|
xinclude: Rework xmlXIncludePreProcessNode
Rename xmlXIncludePreProcessNode to xmlXIncludeExpandNode.
Search the include table for an already existing entry. Also load the
included items in xmlXIncludeExpandNode and remove the second phase in
xmlXIncludeDoProcess.
|
|
4d7524af
|
2022-10-21T16:46:38
|
|
xinclude: Ignore XML_XINCLUDE_START in xmlXIncludeCopyXPointer
The XPath engine shouldn't return such nodes anyway.
|
|
ea7c9fb5
|
2022-10-22T16:48:58
|
|
xinclude: Don't create result doc for test with errors
|
|
c99cde3f
|
2022-10-22T16:59:35
|
|
xinclude: Also test error messages
The reader interface with XIncludes is somewhat broken and can generate
different error messages. Start to move tests which are sketchy with
reader to a separate directory.
|
|
938105b5
|
2022-10-21T15:56:12
|
|
Revert "xinclude: Fix regression with nested includes"
This reverts commit 7f04e297318b1b908cec20711f74f75625afed7f which
caused memory errors.
See #424.
|
|
e85f9b98
|
2022-10-19T02:47:30
|
|
xmllint: Improve handling of empty XPath node sets
Don't return an error if the result is an empty node set. Suppress the
"XPath set is empty" message in quiet mode.
Fixes #180.
|
|
7f04e297
|
2022-10-18T18:40:00
|
|
xinclude: Fix regression with nested includes
This reverts commits 74dcc10b and 87d20b55.
Fixes #424.
|
|
530938b4
|
2022-10-18T18:56:56
|
|
cmake: Build static library with -DLIBXML_STATIC
Fix scope of target_compile_definitions command.
Fixes #425.
|
|
644a89e0
|
2022-08-31T22:11:25
|
|
[CVE-2022-40304] Fix dict corruption caused by entity reference cycles
When an entity reference cycle is detected, the entity content is
cleared by setting its first byte to zero. But the entity content might
be allocated from a dict. In this case, the dict entry becomes corrupted
leading to all kinds of logic errors, including memory errors like
double-frees.
Stop storing entity content, orig, ExternalID and SystemID in a dict.
These values are unlikely to occur multiple times in a document, so they
shouldn't have been stored in a dict in the first place.
Thanks to Ned Williamson and Nathan Wachholz working with Google Project
Zero for the report!
|
|
ffaec758
|
2022-08-25T17:43:08
|
|
Fix integer overflows with XML_PARSE_HUGE
Also impose size limits when XML_PARSE_HUGE is set. Limit size of names
to XML_MAX_TEXT_LENGTH (10 million bytes) and other content to
XML_MAX_HUGE_LENGTH (1 billion bytes).
Move some the length checks to the end of the respective loop to make
them strict.
xmlParseEntityValue didn't have a length limitation at all. But without
XML_PARSE_HUGE, this should eventually trigger an error in xmlGROW.
Thanks to Maddie Stone working with Google Project Zero for the report!
|
|
1a2d8ddc
|
2022-10-11T13:02:47
|
|
parser: Fix potential memory leak in xmlParseAttValueInternal
Fix memory leak in case xmlParseAttValueInternal is called with a NULL
`len` a non-NULL `alloc` argument. This static function is never called
with such arguments internally, but the misleading code should be fixed
nevertheless.
Fixes #422.
|
|
5bfaf230
|
2022-10-11T13:00:33
|
|
win32: Fix build with VS2013
Should fix #420.
|
|
e2bae1bc
|
2022-09-20T14:34:20
|
|
autotools: Don't use version script on Windows
A feature test would be better, but blacklisting Windows platforms seems
good enough for now.
|
|
796c830a
|
2022-09-20T14:30:19
|
|
cmake: Set SOVERSION
Fixes #410.
|
|
1d4f5d24
|
2022-09-13T16:40:31
|
|
schemas: Fix null-pointer-deref in xmlSchemaCheckCOSSTDerivedOK
Found by OSS-Fuzz.
|
|
f2392dc4
|
2022-09-09T13:51:58
|
|
gitlab-ci: Allow cast-align warnings from clang
|
|
a9669679
|
2022-09-09T01:44:00
|
|
error: Don't use initGenericErrorDefaultFunc
The code in xmlInitParser did only set the error handler if it was NULL
which should never happen.
|
|
27c8ba60
|
2022-09-07T22:34:42
|
|
xpath: Lower XPath recursion limit on Windows
|
|
f597eff8
|
2022-09-07T18:18:06
|
|
autotools: Fix winsock detection
Hardcode the required library on MinGW because winsock uses non-standard
calling conventions on 32-bit Windows which makes AC_SEARCH_LIBS fail.
Should fix #406.
|
|
16d3e8b2
|
2022-09-07T18:10:03
|
|
autotools: Only add network libraries if HTTP/FTP enabled
|
|
ae98a5b4
|
2022-09-07T12:10:39
|
|
gitlab-ci: Fix tar invocation
|
|
c52dd494
|
2022-09-06T23:27:01
|
|
gitlab-ci: Move MSVC test to separate script
|
|
ea78427d
|
2022-09-06T22:46:07
|
|
gitlab-ci: Fix SUFFIX, remove MINGW_PATH
|
|
e4bdbf3d
|
2022-09-06T21:29:24
|
|
gitlab-ci: Consolidate CMake test scripts
|
|
861466bf
|
2022-09-06T20:32:08
|
|
gitlab-ci: Only install MinGW autotools if needed
|
|
5ff3baf0
|
2022-09-06T17:33:38
|
|
python: Create .pyd on Windows
|
|
e86ede09
|
2022-09-06T18:24:25
|
|
gitlab-ci: Only install cmake MinGW package if needed
On MinGW, cmake requires curl which requires nghttp2 which requires
libxml2. But having a system libxml2 interferes with the Python tests
for now. Ultimately, we should use Python's os.add_dll_directory() on
Windows. I'm not sure why the current solution using PATH even works.
|
|
7ab3228f
|
2022-09-06T18:32:55
|
|
gitlab-ci: Install 7-Zip using the .msi
So we don't need cmake to extract a file.
|
|
fec85df1
|
2022-09-06T18:50:23
|
|
xmllint: Document --quiet option
|
|
ea8f7c92
|
2022-09-06T00:47:00
|
|
autotools: Disable parallel Python build
Makefile rules with multiple output files don't work reliably with
parallel builds. There are several ways to fix this issue with GNU Make,
but they aren't portable. I'd be really interested in a totally
reliable, cross-platform solution to this problem.
.NOTPARALLEL is also understood by BSD make, at least.
|
|
9d19c169
|
2022-09-06T00:21:28
|
|
python: Don't output missing generators during build
|
|
a41878bd
|
2022-09-05T23:16:23
|
|
build: Remove check for broken ss_family
This only seemed to affect ancient AIX systems.
|
|
c63b2692
|
2022-09-05T22:50:45
|
|
gitlab-ci: Disable MSan for now
MSan seems broken on Ubuntu 22.04.
|
|
ad338459
|
2022-09-05T21:16:20
|
|
autotools: Fix bug with multiline arguments
Should fix #404.
|
|
adcf399b
|
2022-09-05T15:36:13
|
|
autotools: Try to fix bug with multiline arguments
Only happens with older autoconf?
|
|
30c8d9bb
|
2022-09-05T02:02:54
|
|
http: Simplify IPv6 checks
This should also enable IPv6 support on Windows. Untested and mostly
useless anyway, since we don't support HTTPS.
|
|
9e5a016e
|
2022-09-05T01:08:33
|
|
autotools: Fix network checks on Windows
|
|
98acf28f
|
2022-09-04T22:12:32
|
|
Use $MSYSTEM and 'bash -lc' in MinGW CI
Setting the $MSYSTEM environment variable and invoking shell scripts
with 'bash -lc' sets up the correct MinGW environment.
See https://www.msys2.org/docs/ci/
|
|
5d32b126
|
2022-09-04T22:05:16
|
|
Fix detection of GNU libiconv
GNU libiconv prefixes symbols with "lib".
|
|
460ba0cb
|
2022-09-04T16:00:19
|
|
Add CI job for MinGW/Autotools
|
|
0cc9c1d1
|
2022-09-04T15:35:47
|
|
Consolidate CI scripts
|
|
89aeb4df
|
2022-09-04T18:44:52
|
|
Allow empty MINGW_PACKAGE_PREFIX
|
|
efc0e85c
|
2022-09-04T15:26:47
|
|
Move Dockerfile to .gitlab-ci directory
|
|
02e12371
|
2022-09-04T20:12:18
|
|
cmake: Fix Python installation
Don't install into ${Python_SITEARCH} for now.
|
|
243fdbc3
|
2022-09-04T19:13:14
|
|
cmake: Don't check for Python 2
|
|
b0556e14
|
2022-09-04T18:49:23
|
|
testapi: Disable on Windows for now
It's incredibly slow for some reason.
|
|
27b2b864
|
2022-09-04T18:32:55
|
|
configure.ac: Also check for MSYS host
|
|
3a1c5ee7
|
2022-09-04T18:22:30
|
|
Disable fuzzer tests if glob.h wasn't found
|
|
ad6f10a8
|
2022-09-04T17:21:51
|
|
Fix Python build on Windows
Build Python bindings with -no-undefined on Windows. Remove libs that
should already be set by PKG_CHECK_MODULE.
|
|
22b82d14
|
2022-09-04T17:19:58
|
|
Improve network library detection
|
|
0d901258
|
2022-09-04T16:41:43
|
|
Fix Windows compiler warnings in python/types.c
|
|
71736b4e
|
2022-09-04T16:16:37
|
|
Fix libxml_PyFileGet
Broken in commit 75cdb6dd.
|
|
f9fcb2c4
|
2022-09-04T04:47:48
|
|
Revert "CI job for MingW64/Autotools"
This reverts commit 6bfebf4d5886bd5f2a3979ceedc27ebd6c3c5009.
|
|
6bfebf4d
|
2022-09-04T04:04:45
|
|
CI job for MingW64/Autotools
|
|
0048fd0a
|
2022-09-04T03:48:49
|
|
Detect ws2_32 with AC_SEARCH_LIBS
|
|
60b03c9e
|
2022-09-04T03:31:27
|
|
Rework network configure checks
Migrate to AC_SEARCH_LIBS. Don't pollute LIBS.
|
|
fe02289f
|
2022-09-04T03:19:01
|
|
Remove arg cast configure checks
We can simply cast to non-const char * unconditionally.
|
|
2d164d68
|
2022-09-04T02:54:20
|
|
Fix dlopen check
|
|
1e60c768
|
2022-09-04T01:49:41
|
|
Remove HAVE_WIN32_THREADS configuration flag
Check for LIBXML_THREAD_ENABLED and _WIN32 instead.
|
|
13a66378
|
2022-09-04T01:05:51
|
|
Remove BeOS support
Haiku shouldn't be affected.
|
|
38290ec1
|
2022-09-04T00:49:36
|
|
Rework dlopen and pthread detection
Migrate to AC_SEARCH_LIBS. Remove check for ancient GCC 3.3.
|
|
e47df37b
|
2022-09-04T00:46:32
|
|
Fix test in configure.ac
Broken in commit b4847d60.
|
|
202b8e19
|
2022-09-01T06:52:02
|
|
cmake: Enable GCC compiler warnings
|
|
81621b1f
|
2022-09-02T18:38:33
|
|
Fix compiler warnings in SAX2.c
|
|
caef8563
|
2022-09-02T17:26:47
|
|
Move automata test to runtest.c
|
|
c59df16d
|
2022-09-02T17:00:05
|
|
Always link with -no-undefined
This is a good idea to detect errors early.
|
|
513d65fe
|
2022-09-02T16:45:06
|
|
Use AM_CFLAGS and AM_LDFLAGS consistently
|
|
75cdb6dd
|
2022-09-02T16:47:25
|
|
Fix unused variable warning in python/types.c
|
|
1bd24d44
|
2022-09-02T17:59:09
|
|
Fix compiler warning in examples
|
|
d0ab5c4f
|
2022-09-02T17:47:48
|
|
Fix compiler warnings in fuzzing code
|
|
17d505e2
|
2022-09-02T17:33:42
|
|
Remove -Wredundant-decls
Some Python headers contain redundant redeclarations.
|
|
4d911ebc
|
2022-09-02T16:14:04
|
|
Call AC_CHECK_* with multiple arguments
|
|
75bd98a5
|
2022-09-02T05:09:42
|
|
Remove unused code in nanohttp.c
This was hidden behind an undocumented flag RES_USE_INET6.
|
|
5bffa33a
|
2022-09-02T05:03:03
|
|
Stop including sys/types.h
|
|
05fc6ee2
|
2022-09-02T04:45:27
|
|
configure.ac: Remove checks for unused programs
|
|
16ae1d8f
|
2022-09-02T04:33:54
|
|
Don't define WIN32 macro
|