Skip to content

Commit 9888cf9

Browse files
committed
Updated libxml to 2.10.4
1 parent e1b335d commit 9888cf9

36 files changed

+24112
-24515
lines changed

.gitlab-ci.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@
2525
cd build
2626
ln -s /tests/xmlconf
2727
sh ../autogen.sh $BASE_CONFIG $CONFIG
28-
make -j$(nproc) V=1 CFLAGS="$CFLAGS -Werror"
29-
make CFLAGS="$CFLAGS -Werror" check
28+
make -j$(nproc) V=1
29+
make check
3030
3131
gcc:
3232
extends: .test

ImageMagick/ImageMagick.version.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
#define DELEGATE_VERSION_NUM 2,10,3
2-
#define DELEGATE_VERSION_STRING "2.10.3 (2022-10-14)"
1+
#define DELEGATE_VERSION_NUM 2,10,4
2+
#define DELEGATE_VERSION_STRING "2.10.4 (2023-04-11)"

NEWS

+55
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,19 @@
11
NEWS file for libxml2
22

3+
v2.10.4: Apr 11 2023
4+
5+
### Security
6+
7+
- [CVE-2023-29469] Hashing of empty dict strings isn't deterministic
8+
- [CVE-2023-28484] Fix null deref in xmlSchemaFixupComplexType
9+
- schemas: Fix null-pointer-deref in xmlSchemaCheckCOSSTDerivedOK
10+
11+
### Regressions
12+
13+
- SAX2: Ignore namespaces in HTML documents
14+
- io: Fix "buffer full" error with certain buffer sizes
15+
16+
317
v2.10.3: Oct 14 2022
418

519
### Security
@@ -60,6 +74,47 @@ v2.10.1: Aug 25 2022
6074

6175
v2.10.0: Aug 17 2022
6276

77+
### Breaking changes
78+
79+
The Docbook parser module and all related symbols habe been removed completely.
80+
This was experimental code which never worked and generated a deprecation
81+
warning for 15+ years. The library's soname wasn't changed in order to allow
82+
seamless upgrades to later versions. If this concerns you, consider bumping
83+
soname yourself.
84+
85+
Some other modules are now disabled by default and will eventually be removed
86+
completely:
87+
88+
- Support for XPointer locations (ranges and points): This was based on
89+
a W3C specification which never got beyond Working Draft status. To my
90+
knowledge, there's no software supporting this spec which is still
91+
maintained. You now have to enable this code by passing the
92+
`--with-xptr-locs` configuration option. Be warned that this part of
93+
the code base is buggy and had many security issues in the past.
94+
95+
- Support for the built-in FTP client (`--with-ftp`).
96+
97+
- Support for "legacy" functions (`--with-legacy`).
98+
99+
If you're concerned about ABI stability and haven't disabled these modules
100+
already, add the following configuration options or bump soname yourself:
101+
102+
--with-ftp
103+
--with-legacy
104+
--with-xptr-locs
105+
106+
Several functions of the public API were deprecated. Most of them should be
107+
completely unused and will generate a deprecation warning now.
108+
109+
The autoconf build now uses the sysconfdir variable for the location of
110+
the default catalog file. The path changed from hardcoded /etc/xml/catalog
111+
to ${sysconfdir}/xml/catalog. The sysconfdir variable defaults to
112+
${prefix}/etc, prefix defaults to /usr/local, so without other options
113+
the path becomes /usr/local/etc/xml/catalog. If you want the old behavior,
114+
configure with
115+
116+
--sysconfdir=/etc
117+
63118
### Security
64119

65120
- [CVE-2022-2309] Reset nsNr in xmlCtxtReset

SAX2.c

+9-6
Original file line numberDiff line numberDiff line change
@@ -1608,12 +1608,15 @@ xmlSAX2StartElement(void *ctx, const xmlChar *fullname, const xmlChar **atts)
16081608
ctxt->validate = 0;
16091609
}
16101610

1611-
1612-
/*
1613-
* Split the full name into a namespace prefix and the tag name
1614-
*/
1615-
name = xmlSplitQName(ctxt, fullname, &prefix);
1616-
1611+
if (ctxt->html) {
1612+
prefix = NULL;
1613+
name = xmlStrdup(fullname);
1614+
} else {
1615+
/*
1616+
* Split the full name into a namespace prefix and the tag name
1617+
*/
1618+
name = xmlSplitQName(ctxt, fullname, &prefix);
1619+
}
16171620

16181621
/*
16191622
* Note : the namespace resolution is deferred until the end of the

config.h

-25
This file was deleted.

configure.ac

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ AC_PREREQ([2.63])
33

44
m4_define([MAJOR_VERSION], 2)
55
m4_define([MINOR_VERSION], 10)
6-
m4_define([MICRO_VERSION], 3)
6+
m4_define([MICRO_VERSION], 4)
77

88
AC_INIT([libxml2],[MAJOR_VERSION.MINOR_VERSION.MICRO_VERSION])
99
AC_CONFIG_SRCDIR([entities.c])

dict.c

+2-1
Original file line numberDiff line numberDiff line change
@@ -453,7 +453,8 @@ static unsigned long
453453
xmlDictComputeFastKey(const xmlChar *name, int namelen, int seed) {
454454
unsigned long value = seed;
455455

456-
if (name == NULL) return(0);
456+
if ((name == NULL) || (namelen <= 0))
457+
return(value);
457458
value += *name;
458459
value <<= 5;
459460
if (namelen > 10) {

include/libxml/xmlexports.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
#if defined(_WIN32) || defined(__CYGWIN__)
1212
/** DOC_DISABLE */
1313

14-
#if defined(LIBXML_STATIC) || defined(_LIB)
14+
#ifdef LIBXML_STATIC
1515
#define XMLPUBLIC
1616
#elif defined(IN_LIBXML)
1717
#define XMLPUBLIC __declspec(dllexport)

0 commit comments

Comments
 (0)