4548 Commits

Author SHA1 Message Date
Sebastian Pipping
28c6ac1b5b [REVERT ME] Drop most of CI while experimenting 2025-04-18 17:41:44 +02:00
Sebastian Pipping
e32a594298 [REVERT ME] CMake: Raise minimum CMake version to 3.15.0 2025-04-18 17:41:44 +02:00
Sebastian Pipping
10ef239a51 [REVERT ME] CMake: Debug status of policy CMP0091
https://cmake.org/cmake/help/v4.0/policy/CMP0091.html#policy:CMP0091
2025-04-18 17:15:44 +02:00
Sebastian Pipping
badb97f5f0 [WIP] Debug MSVC compile flag processing 2025-04-18 16:57:48 +02:00
Sebastian Pipping
d7545c06b3 CMake: Report on CMake version in use 2025-04-18 16:57:48 +02:00
Sebastian Pipping
dfb55d0d36 windows-binaries.yml: Enhance description of task "Build installer" 2025-04-18 16:20:37 +02:00
Sebastian Pipping
8d3a86bf32
Merge pull request #1004 from libexpat/cmake-fix-off-t-detection-for-werror
`ConfigureChecks.cmake`: Fix `off_t` detection for `-Werror`
2025-04-11 22:23:13 +02:00
Sebastian Pipping
98c6cbbd2a
Merge pull request #1003 from libexpat/freebsd-ci
Cover compilation on FreeBSD by CI
2025-04-11 21:28:47 +02:00
Sebastian Pipping
10c4bcd25c freebsd.yml: Cover compilation on FreeBSD 2025-04-11 20:25:49 +02:00
Sebastian Pipping
f48c79ce29 ConfigureChecks.cmake: Fix off_t detection for -Werror 2025-04-11 20:24:50 +02:00
Sebastian Pipping
69d6c054c1
Merge pull request #1001 from libexpat/clang-tidy-misc-no-recursion
Address clang-tidy warning `misc-no-recursion`
2025-03-31 01:03:21 +02:00
Sebastian Pipping
dc8ddf84e4 Changes: Document #1001 2025-03-30 20:54:46 +02:00
Sebastian Pipping
fe04a7f0ff lib/xmlparse.c: Address clang-tidy warning misc-no-recursion 2025-03-30 20:54:46 +02:00
Sebastian Pipping
004e55a7e1 lib/xmlparse.c: Make function getRootParserOf available to XML_GE != 1 2025-03-30 20:54:46 +02:00
Sebastian Pipping
c5d0761f10
Merge pull request #999 from libexpat/address-warnings
Address more clang-tidy warnings
2025-03-30 20:25:20 +02:00
Sebastian Pipping
90cd37b81a Changes: Fix change log entry for #986 2025-03-30 18:52:46 +02:00
Sebastian Pipping
4477f91771 Changes: Document #999 2025-03-30 18:52:45 +02:00
Sebastian Pipping
ac488f2d69 apply-clang-tidy.sh: Enable warning bugprone-narrowing-conversions 2025-03-30 18:52:09 +02:00
Sebastian Pipping
25ec4f1b29 lib/xmlparse.c: Address clang-tidy warning bugprone-narrowing-conversions
The symptom was:
> [..]/expat/lib/xmlparse.c:826:9: error: narrowing conversion from 'ssize_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions,-warnings-as-errors]
>   826 |         getrandom(currentTarget, bytesToWrite, getrandomFlags);
>       |         ^
> [..]/expat/lib/xmlparse.c:2765:19: error: narrowing conversion from 'unsigned long' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions,-warnings-as-errors]
>  2765 |     int nameLen = sizeof(XML_Char) * (tag->name.strLen + 1);
>       |                   ^
> [..]/expat/lib/xmlparse.c:3734:16: error: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions,-warnings-as-errors]
>  3734 |       for (j = nsAttsSize; j != 0;)
>       |                ^
> [..]/expat/lib/xmlparse.c:3800:15: error: narrowing conversion from 'unsigned long' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions,-warnings-as-errors]
>  3800 |           j = uriHash & mask; /* index into hash table */
>       |               ^
> [..]/expat/lib/xmlparse.c:3814:30: error: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions,-warnings-as-errors]
>  3814 |             j < step ? (j += nsAttsSize - step) : (j -= step);
>       |                              ^
> [..]/expat/lib/xmlparse.c:6309:13: error: narrowing conversion from 'int' to signed type 'char' is implementation-defined [bugprone-narrowing-conversions,-warnings-as-errors]
>  6309 |             parser->m_prologState.documentEntity &&
>       |             ^
> [..]/expat/lib/xmlparse.c:6314:27: error: narrowing conversion from 'int' to signed type 'char' is implementation-defined [bugprone-narrowing-conversions,-warnings-as-errors]
>  6314 |         checkEntityDecl = ! dtd->hasParamEntityRefs || dtd->standalone;
>       |                           ^
> [..]/expat/lib/xmlparse.c:7897:10: error: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions,-warnings-as-errors]
>  7897 |   next = dtd->scaffCount++;
>       |          ^
> [..]/expat/lib/xmlparse.c:8096:16: error: narrowing conversion from 'XmlBigCount' (aka 'unsigned long long') to 'float' [bugprone-narrowing-conversions,-warnings-as-errors]
>  8096 |             ? (countBytesOutput
>       |                ^
> [..]/expat/lib/xmlparse.c:8098:16: error: narrowing conversion from 'XmlBigCount' (aka 'unsigned long long') to 'float' [bugprone-narrowing-conversions,-warnings-as-errors]
>  8098 |             : ((lenOfShortestInclude
>       |                ^
2025-03-30 18:52:09 +02:00
Sebastian Pipping
0c5b205a01 xmlwf: Address clang-tidy warning bugprone-narrowing-conversions
The symptom was:
> [..]/expat/xmlwf/xmlfile.c:204:13: error: narrowing conversion from 'ssize_t' (aka 'long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions,-warnings-as-errors]
>   204 |     nread = read(fd, buf, g_read_size_bytes);
>       |             ^
> [..]/expat/xmlwf/xmlwf.c:314:14: error: narrowing conversion from 'unsigned long' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions,-warnings-as-errors]
>   314 |   numBytes = count * sizeof(XML_Char);
>       |              ^

The solution to read(3) was copied from file xmlwf/readfilemap.c for now.
2025-03-30 18:52:09 +02:00
Sebastian Pipping
57a7643252 fuzz: Address clang-tidy bugprone-narrowing-conversions
The symptom was:
> [..]/expat/fuzz/xml_parse_fuzzer.c:68:40: error: narrowing conversion from 'size_t' (aka 'unsigned long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions,-warnings-as-errors]
>    68 |   XML_Parse(p, (const XML_Char *)data, size, 0);
>       |                                        ^
> [..]/expat/fuzz/xml_parse_fuzzer.c:69:44: error: narrowing conversion from 'size_t' (aka 'unsigned long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions,-warnings-as-errors]
>    69 |   if (XML_Parse(p, (const XML_Char *)data, size, 1) == XML_STATUS_ERROR) {
>       |                                            ^
> [..]/expat/fuzz/xml_parsebuffer_fuzzer.c:69:32: error: narrowing conversion from 'size_t' (aka 'unsigned long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions,-warnings-as-errors]
>    69 |   void *buf = XML_GetBuffer(p, size);
>       |                                ^
> [..]/expat/fuzz/xml_parsebuffer_fuzzer.c:72:22: error: narrowing conversion from 'size_t' (aka 'unsigned long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions,-warnings-as-errors]
>    72 |   XML_ParseBuffer(p, size, 0);
>       |                      ^
> [..]/expat/fuzz/xml_parsebuffer_fuzzer.c:73:26: error: narrowing conversion from 'size_t' (aka 'unsigned long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions,-warnings-as-errors]
>    73 |   buf = XML_GetBuffer(p, size);
>       |                          ^
> [..]/expat/fuzz/xml_parsebuffer_fuzzer.c:78:26: error: narrowing conversion from 'size_t' (aka 'unsigned long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions,-warnings-as-errors]
>    78 |   if (XML_ParseBuffer(p, size, 1) == XML_STATUS_ERROR) {
>       |                          ^
2025-03-30 18:52:09 +02:00
Sebastian Pipping
94cceb228c tests: Address clang-tidy warning bugprone-narrowing-conversions
The symptom was:
> [..]/expat/tests/alloc_tests.c:326:26: error: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions,-warnings-as-errors]
>   326 |     g_allocation_count = i;
>       |                          ^
> [..]/expat/tests/alloc_tests.c:437:26: error: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions,-warnings-as-errors]
>   437 |     g_allocation_count = i;
>       |                          ^

> [..]/expat/tests/basic_tests.c:415:47: error: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions,-warnings-as-errors]
>   415 |   if (_XML_Parse_SINGLE_BYTES(g_parser, text, first_chunk_bytes, XML_FALSE)
>       |                                               ^
> [..]/expat/tests/basic_tests.c:421:34: error: narrowing conversion from 'unsigned long' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions,-warnings-as-errors]
>   421 |                                  sizeof(text) - first_chunk_bytes - 1,
>       |                                  ^

> [..]/expat/tests/handlers.c:92:37: error: narrowing conversion from 'XML_Size' (aka 'unsigned long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions,-warnings-as-errors]
>    92 |   StructData_AddItem(storage, name, XML_GetCurrentColumnNumber(g_parser),
>       |                                     ^
> [..]/expat/tests/handlers.c:93:22: error: narrowing conversion from 'XML_Size' (aka 'unsigned long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions,-warnings-as-errors]
>    93 |                      XML_GetCurrentLineNumber(g_parser), STRUCT_START_TAG);
>       |                      ^
> [..]/expat/tests/handlers.c:99:37: error: narrowing conversion from 'XML_Size' (aka 'unsigned long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions,-warnings-as-errors]
>    99 |   StructData_AddItem(storage, name, XML_GetCurrentColumnNumber(g_parser),
>       |                                     ^
> [..]/expat/tests/handlers.c💯22: error: narrowing conversion from 'XML_Size' (aka 'unsigned long') to signed type 'int' is implementation-defined [bugprone-narrowing-conversions,-warnings-as-errors]
>   100 |                      XML_GetCurrentLineNumber(g_parser), STRUCT_END_TAG);
>       |                      ^
> [..]/expat/tests/handlers.c:1279:26: error: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions,-warnings-as-errors]
>  1279 |     g_allocation_count = i;
>       |                          ^

> [..]/expat/tests/misc_tests.c:73:26: error: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions,-warnings-as-errors]
>    73 |     g_allocation_count = i;
>       |                          ^
> [..]/expat/tests/misc_tests.c:93:26: error: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions,-warnings-as-errors]
>    93 |     g_allocation_count = i;
>       |                          ^

> [..]/expat/tests/nsalloc_tests.c:86:26: error: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions,-warnings-as-errors]
>    86 |     g_allocation_count = i;
>       |                          ^
> [..]/expat/tests/nsalloc_tests.c:526:28: error: narrowing conversion from 'unsigned int' to signed type 'int' is implementation-defined [bugprone-narrowing-conversions,-warnings-as-errors]
>   526 |     g_reallocation_count = i;
>       |                            ^
2025-03-30 18:52:09 +02:00
Sebastian Pipping
2ae87fa583 tests: Address clang-tidy warning bugprone-suspicious-string-compare
The symptom was:
> [..]/expat/tests/handlers.c:135:19: error: function 'strcmp' is called without explicitly comparing result [bugprone-suspicious-string-compare,-warnings-as-errors]
>   135 |   if (id != -1 && xcstrcmp(atts[id], info->id_name)) {
>       |                   ^
>       |                                                     != 0
2025-03-30 18:52:09 +02:00
Sebastian Pipping
66db1f2d05 apply-clang-tidy.sh: Exclude include-only file lib/xcsinc.c
.. from inspection in isolation
2025-03-30 18:52:09 +02:00
Sebastian Pipping
bf4bc5cfcf xmlwf/unixfilemap.c: Simplify "(void *)0" to NULL 2025-03-30 18:52:09 +02:00
Sebastian Pipping
d620de0f50 xmlwf/unixfilemap.c: Address clang-tidy warning google-readability-casting 2025-03-30 18:52:09 +02:00
Sebastian Pipping
0a27875087
Merge pull request #1000 from bluhm/strndup-nul
tests: `portable_strndup` must not read source string beyond NUL byte
2025-03-30 18:51:01 +02:00
Sebastian Pipping
3c188810b6
Changes: Document #1000 2025-03-30 18:06:40 +02:00
Sebastian Pipping
5b9e8dc70c
portable_strndup() must not read source string beyond NUL byte.
POSIX strndup() does not read memory beyond NUL byte of the source
string.  Preserve this behavior in libexpat implementation to prevent
access violations and keep portability.
2025-03-30 18:06:32 +02:00
Sebastian Pipping
03ff328b5c
Merge pull request #994 from libexpat/readme-drop-appveyor-badge
`README.md`: Drop AppVeyor badge
2025-03-28 01:03:07 +01:00
Sebastian Pipping
6eda25c9c1 Changes: Document #994 2025-03-27 22:28:01 +01:00
Sebastian Pipping
86e382f542 README.md: Drop AppVeyor badge 2025-03-27 22:26:34 +01:00
Sebastian Pipping
f9a3eeb3e0
Merge pull request #993 from libexpat/issue-990-prepare-release
Prepare release 2.7.1 (part of #990, ETA 2025-03-27)
R_2_7_1
2025-03-27 19:40:10 +01:00
Sebastian Pipping
2b2a24691a Sync file headers 2025-03-27 17:45:25 +01:00
Sebastian Pipping
55ce34c669 Set release date for 2.7.1 2025-03-27 17:45:25 +01:00
Sebastian Pipping
a6497c3004 Bump version to 2.7.1 2025-03-27 17:45:25 +01:00
Sebastian Pipping
d8d5b39933 Bump version info from 11:1:10 to 11:2:10
See https://verbump.de/ for what these numbers do
2025-03-27 17:45:25 +01:00
Sebastian Pipping
bec461e1db Changes: Document changes in release Expat 2.7.1 2025-03-27 17:45:25 +01:00
Sebastian Pipping
6312a385a0
Merge pull request #982 from libexpat/perl-integration-tests-ci
Make GitHub Actions run Perl XML::Parser integration tests
2025-03-27 17:45:03 +01:00
Sebastian Pipping
1aa1b1d32a Changes: Document #982 2025-03-27 16:13:44 +01:00
Sebastian Pipping
b9f9170d69 Make GitHub Actions run Perl XML::Parser integration tests 2025-03-27 16:13:06 +01:00
Sebastian Pipping
c8d69c6e0b
Merge pull request #989 from berkayurun/fix-m_eventPtr
Stop updating event pointer on exit for reentry (fixes #980)
2025-03-27 16:11:47 +01:00
Sebastian Pipping
09cbf95925
Merge pull request #991 from libexpat/clang-tidy-reenable-valist-uninitialized
Re-enable clang-tidy warning `clang-analyzer-valist.Uninitialized`
2025-03-27 04:32:03 +01:00
Sebastian Pipping
fd02936f25
Merge pull request #992 from libexpat/readme-openssf-best-practices-badge
`README.md`: Add badge for OpenSSF Best Practices
2025-03-27 04:27:03 +01:00
Sebastian Pipping
bedbf381b3 Changes: Document #992 2025-03-27 03:31:44 +01:00
Sebastian Pipping
2dc146751a README.md: Add badge for OpenSSF Best Practices 2025-03-27 03:27:04 +01:00
Sebastian Pipping
9c51ecefcd Changes: Document #991 2025-03-27 03:12:39 +01:00
Sebastian Pipping
89026a3c6b apply-clang-tidy.sh: Re-enable warning clang-analyzer-valist.Uninitialized 2025-03-27 03:12:33 +01:00
Sebastian Pipping
308c31ed64 Changes: Document #980 #989 2025-03-25 18:31:41 +01:00
Sebastian Pipping
c096f96980 tests: Cover m_eventPtr value with entities and reentering
m_eventPtr is a key provider to these functions:
- XML_GetCurrentByteCount
- XML_GetCurrentByteIndex
- XML_GetCurrentColumnNumber
- XML_GetCurrentLineNumber
- XML_GetInputContext
2025-03-25 18:31:41 +01:00