Commit graph

4516 commits

Author SHA1 Message Date
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)
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
Some checks are pending
Ensure that GNU Autotools and CMake build systems agree / Ensure that GNU Autotools and CMake build systems agree (push) Waiting to run
Enforce clang-format clean code / Enforce clang-format clean code (push) Waiting to run
Enforce Clang Static Analyzer (scan-build) clean code / Enforce Clang Static Analyzer (scan-build) clean code (push) Waiting to run
Enforce clang-tidy clean code / Enforce clang-tidy clean code (push) Waiting to run
Ensure realistic minimum CMake version requirement / Ensure realistic minimum CMake version requirement (push) Waiting to run
Enforce codespell-clean spelling / Enforce codespell-clean spelling (push) Waiting to run
Collect test coverage / Collect test coverage (push) Waiting to run
Upload build to Coverity Scan / Upload build to Coverity Scan (push) Waiting to run
Run Cppcheck (from macOS Homebrew) / Run Cppcheck (push) Waiting to run
Build with Emscripten / Build with Emscripten (push) Waiting to run
Check expat_config.h.{in,cmake} for regressions / Check expat_config.h.{in,cmake} for regressions (push) Waiting to run
Run fuzzing regression tests / Run fuzzing regression tests (push) Waiting to run
Run Linux CI tasks / Perform checks (push) Waiting to run
Run macOS CI tasks / Perform checks (push) Waiting to run
Build with musl / Build with musl (push) Waiting to run
Run Perl XML::Parser integration tests / Run Perl XML::Parser integration tests (push) Waiting to run
Ensure well-formed and valid XML / Ensure well-formed and valid XML (push) Waiting to run
Build Windows binaries / Build win32 binaries (push) Waiting to run
Build Windows binaries / Build win64 binaries (push) Waiting to run
Build on Windows / Build on Windows (windows-2022, x64, wchar_t) (push) Waiting to run
Build on Windows / Build on Windows (windows-2019, Win32, char) (push) Waiting to run
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
Some checks are pending
Ensure that GNU Autotools and CMake build systems agree / Ensure that GNU Autotools and CMake build systems agree (push) Waiting to run
Enforce clang-format clean code / Enforce clang-format clean code (push) Waiting to run
Enforce Clang Static Analyzer (scan-build) clean code / Enforce Clang Static Analyzer (scan-build) clean code (push) Waiting to run
Enforce clang-tidy clean code / Enforce clang-tidy clean code (push) Waiting to run
Ensure realistic minimum CMake version requirement / Ensure realistic minimum CMake version requirement (push) Waiting to run
Enforce codespell-clean spelling / Enforce codespell-clean spelling (push) Waiting to run
Collect test coverage / Collect test coverage (push) Waiting to run
Upload build to Coverity Scan / Upload build to Coverity Scan (push) Waiting to run
Run Cppcheck (from macOS Homebrew) / Run Cppcheck (push) Waiting to run
Build with Emscripten / Build with Emscripten (push) Waiting to run
Check expat_config.h.{in,cmake} for regressions / Check expat_config.h.{in,cmake} for regressions (push) Waiting to run
Run fuzzing regression tests / Run fuzzing regression tests (push) Waiting to run
Run Linux CI tasks / Perform checks (push) Waiting to run
Run macOS CI tasks / Perform checks (push) Waiting to run
Build with musl / Build with musl (push) Waiting to run
Ensure well-formed and valid XML / Ensure well-formed and valid XML (push) Waiting to run
Build Windows binaries / Build win32 binaries (push) Waiting to run
Build Windows binaries / Build win64 binaries (push) Waiting to run
Build on Windows / Build on Windows (windows-2019, Win32, char) (push) Waiting to run
Build on Windows / Build on Windows (windows-2022, x64, wchar_t) (push) Waiting to run
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
Sebastian Pipping
f3feb0d09c tests: Make strndup(3) available to C99 2025-03-25 18:31:41 +01:00
Berkay Eren Ürün
bcf353990c Make parser->m_eventPtr handling clearer 2025-03-25 18:30:47 +01:00
Berkay Eren Ürün
89a9c6807c Stop updating m_eventPtr on exit for reentry
The fix for recursive entity processing introduced a reenter flag that
returns the execution from the current function and switches to entity
processing.

The same fix also updates the m_eventPtr during this switch. However
this update changes the behaviour in certain cases as the older version
does not update the m_eventPtr while recursing into entity processing.

This commit removes the pointer update and restores the old behaviour.
2025-03-25 18:30:47 +01:00
Sebastian Pipping
91ca72e913
Merge pull request #988 from libexpat/dependabot/github_actions/actions/upload-artifact-4.6.2
Some checks failed
Ensure that GNU Autotools and CMake build systems agree / Ensure that GNU Autotools and CMake build systems agree (push) Has been cancelled
Collect test coverage / Collect test coverage (push) Has been cancelled
Upload build to Coverity Scan / Upload build to Coverity Scan (push) Has been cancelled
Run Cppcheck (from macOS Homebrew) / Run Cppcheck (push) Has been cancelled
Run macOS CI tasks / Perform checks (push) Has been cancelled
Enforce clang-format clean code / Enforce clang-format clean code (push) Has been cancelled
Enforce Clang Static Analyzer (scan-build) clean code / Enforce Clang Static Analyzer (scan-build) clean code (push) Has been cancelled
Enforce clang-tidy clean code / Enforce clang-tidy clean code (push) Has been cancelled
Ensure realistic minimum CMake version requirement / Ensure realistic minimum CMake version requirement (push) Has been cancelled
Enforce codespell-clean spelling / Enforce codespell-clean spelling (push) Has been cancelled
Build with Emscripten / Build with Emscripten (push) Has been cancelled
Check expat_config.h.{in,cmake} for regressions / Check expat_config.h.{in,cmake} for regressions (push) Has been cancelled
Run fuzzing regression tests / Run fuzzing regression tests (push) Has been cancelled
Run Linux CI tasks / Perform checks (push) Has been cancelled
Build with musl / Build with musl (push) Has been cancelled
Ensure well-formed and valid XML / Ensure well-formed and valid XML (push) Has been cancelled
Build Windows binaries / Build win32 binaries (push) Has been cancelled
Build Windows binaries / Build win64 binaries (push) Has been cancelled
Build on Windows / Build on Windows (windows-2019, Win32, char) (push) Has been cancelled
Build on Windows / Build on Windows (windows-2022, x64, wchar_t) (push) Has been cancelled
Actions(deps): Bump actions/upload-artifact from 4.6.1 to 4.6.2
2025-03-24 18:02:52 +01:00
dependabot[bot]
9c7609a007
Actions(deps): Bump actions/upload-artifact from 4.6.1 to 4.6.2
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.6.1 to 4.6.2.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](4cec3d8aa0...ea165f8d65)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-24 12:45:06 +00:00
Sebastian Pipping
453c150541
Merge pull request #987 from libexpat/clang-static-analyzer
Make GitHub Actions apply Clang Static Analyzer
2025-03-22 02:30:01 +01:00
Sebastian Pipping
6a56fd6f9e Changes: Document #987 2025-03-22 01:30:36 +01:00
Sebastian Pipping
ad45b4f4e2 Make GitHub Actions apply Clang Static Analyzer 2025-03-22 01:21:50 +01:00
Sebastian Pipping
ec81c552a1
Merge pull request #986 from libexpat/address-frama-c-warning
Address Frama-C warning
2025-03-21 23:49:12 +01:00
Sebastian Pipping
d53df45fd8 Changes: Document #986 2025-03-21 23:07:17 +01:00
Sebastian Pipping
ea3b852acf lib/xmlparse.c: Address warning from frama-c 30.0
The symptom was:
> [variadic:typing] lib/xmlparse.c:8242: Warning:
>   Incorrect type for argument 7. The argument will be cast from unsigned int to int.
2025-03-21 23:02:05 +01:00
Sebastian Pipping
6fd58ad630
Merge pull request #984 from libexpat/issue-983-emscripten-support
Fix `printf` format specifiers for 32bit Emscripten (fixes #983) + cover compilation with 32bit Emscripten in CI
2025-03-17 04:32:05 +01:00
Sebastian Pipping
5c1385f94e Changes: Document #983 #984 2025-03-17 03:49:10 +01:00
Sebastian Pipping
2f6611391e Make GitHub Actions cover compilation with 32bit Emscripten 2025-03-17 03:49:10 +01:00
Sebastian Pipping
41fcb44549 lib/internal.h: Fix printf format specifiers for 32bit mode Emscripten
When compiling with Emscripten 3.1.6, the symptom was:
> [..]
> /usr/bin/emcc  @CMakeFiles/expat.dir/includes_C.rsp -fno-strict-aliasing -fvisibility=hidden -std=c99 -MD -MT CMakeFiles/expat.dir/lib/xmlparse.c.o -MF CMakeFiles/expat.dir/lib/xmlparse.c.o.d -o CMakeFiles/expat.dir/lib/xmlparse.c.o -c /libexpat/expat/lib/xmlparse.c
> /libexpat/expat/lib/xmlparse.c:8132:11: warning: format specifies type 'int' but the argument has type 'ptrdiff_t' (aka 'long') [-Wformat]
>           bytesMore, (account == XML_ACCOUNT_DIRECT) ? "DIR" : "EXP",
>           ^~~~~~~~~
> 1 warning generated.
> [..]
> /usr/bin/emcc -DXML_TESTING @CMakeFiles/runtests.dir/includes_C.rsp -fno-strict-aliasing -fvisibility=hidden -std=c99 -MD -MT CMakeFiles/runtests.dir/tests/acc_tests.c.o -MF CMakeFiles/runtests.dir/tests/acc_tests.c.o.d -o CMakeFiles/runtests.dir/tests/acc_tests.c.o -c /libexpat/expat/tests/acc_tests.c
> /libexpat/expat/tests/acc_tests.c:279:11: warning: format specifies type 'unsigned int' but the argument has type 'unsigned long' [-Wformat]
>           u + 1, countCases, expectedCountBytesDirect, actualCountBytesDirect);
>           ^~~~~
> /libexpat/expat/tests/acc_tests.c:279:18: warning: format specifies type 'unsigned int' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat]
>           u + 1, countCases, expectedCountBytesDirect, actualCountBytesDirect);
>                  ^~~~~~~~~~
> /libexpat/expat/tests/acc_tests.c:288:11: warning: format specifies type 'unsigned int' but the argument has type 'unsigned long' [-Wformat]
>           u + 1, countCases, expectedCountBytesIndirect,
>           ^~~~~
> /libexpat/expat/tests/acc_tests.c:288:18: warning: format specifies type 'unsigned int' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat]
>           u + 1, countCases, expectedCountBytesIndirect,
>                  ^~~~~~~~~~
> 4 warnings generated.
> [..]
> /usr/bin/emcc -DXML_TESTING @CMakeFiles/runtests.dir/includes_C.rsp -fno-strict-aliasing -fvisibility=hidden -std=c99 -MD -MT CMakeFiles/runtests.dir/lib/xmlparse.c.o -MF CMakeFiles/runtests.dir/lib/xmlparse.c.o.d -o CMakeFiles/runtests.dir/lib/xmlparse.c.o -c /libexpat/expat/lib/xmlparse.c
> /libexpat/expat/lib/xmlparse.c:8132:11: warning: format specifies type 'int' but the argument has type 'ptrdiff_t' (aka 'long') [-Wformat]
>           bytesMore, (account == XML_ACCOUNT_DIRECT) ? "DIR" : "EXP",
>           ^~~~~~~~~
> 1 warning generated.
> [..]
> /usr/bin/em++ -DXML_TESTING @CMakeFiles/runtests_cxx.dir/includes_CXX.rsp -fno-strict-aliasing -fvisibility=hidden -std=c++11 -MD -MT CMakeFiles/runtests_cxx.dir/tests/acc_tests_cxx.cpp.o -MF CMakeFiles/runtests_cxx.dir/tests/acc_tests_cxx.cpp.o.d -o CMakeFiles/runtests_cxx.dir/tests/acc_tests_cxx.cpp.o -c /libexpat/expat/tests/acc_tests_cxx.cpp
> In file included from /libexpat/expat/tests/acc_tests_cxx.cpp:32:
> /libexpat/expat/tests/acc_tests.c:279:11: warning: format specifies type 'unsigned int' but the argument has type 'unsigned long' [-Wformat]
>           u + 1, countCases, expectedCountBytesDirect, actualCountBytesDirect);
>           ^~~~~
> /libexpat/expat/tests/acc_tests.c:279:18: warning: format specifies type 'unsigned int' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat]
>           u + 1, countCases, expectedCountBytesDirect, actualCountBytesDirect);
>                  ^~~~~~~~~~
> /libexpat/expat/tests/acc_tests.c:288:11: warning: format specifies type 'unsigned int' but the argument has type 'unsigned long' [-Wformat]
>           u + 1, countCases, expectedCountBytesIndirect,
>           ^~~~~
> /libexpat/expat/tests/acc_tests.c:288:18: warning: format specifies type 'unsigned int' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat]
>           u + 1, countCases, expectedCountBytesIndirect,
>                  ^~~~~~~~~~
> 4 warnings generated.
> [..]
> /usr/bin/emcc -DXML_TESTING @CMakeFiles/runtests_cxx.dir/includes_C.rsp -fno-strict-aliasing -fvisibility=hidden -std=c99 -MD -MT CMakeFiles/runtests_cxx.dir/lib/xmlparse.c.o -MF CMakeFiles/runtests_cxx.dir/lib/xmlparse.c.o.d -o CMakeFiles/runtests_cxx.dir/lib/xmlparse.c.o -c /libexpat/expat/lib/xmlparse.c
> /libexpat/expat/lib/xmlparse.c:8132:11: warning: format specifies type 'int' but the argument has type 'ptrdiff_t' (aka 'long') [-Wformat]
>           bytesMore, (account == XML_ACCOUNT_DIRECT) ? "DIR" : "EXP",
>           ^~~~~~~~~
> 1 warning generated.
2025-03-17 03:49:10 +01:00
Sebastian Pipping
9f52e11c2c
Merge pull request #981 from libexpat/musl-ci
Make GitHub Actions cover compilation with musl
2025-03-16 02:08:12 +01:00
Sebastian Pipping
26de2e1daa Changes: Document #981 2025-03-16 00:48:01 +01:00
Sebastian Pipping
f0394e734a Make GitHub Actions cover compilation with musl 2025-03-16 00:48:01 +01:00
Sebastian Pipping
6579a00ec3
Merge pull request #978 from libexpat/tests-benchmark-resolve-double-close
`tests/benchmark`: Resolve mistaken double close
2025-03-15 16:03:13 +01:00
Sebastian Pipping
ac8a0e8f04 tests/benchmark: Resolve mistaken double close
From "man fdopen":
> The file descriptor is not dup'ed, and will be closed
> when the stream created by fdopen() is closed.
2025-03-15 01:38:13 +01:00
Sebastian Pipping
fb4faf6573
Merge pull request #977 from libexpat/issue-976-automake-add-missing-files
Integrate missing fuzzer files with Automake (fixes #976)
2025-03-15 01:01:53 +01:00
Sebastian Pipping
fec0d8cdab Changes: Document #977 2025-03-14 23:22:31 +01:00
Sebastian Pipping
991a5de397 fuzzing.yml: Re-group artifact naming
This grouping better suits a human interested in one particular fuzzer.
2025-03-14 23:22:31 +01:00
Sebastian Pipping
1c24499c1b fuzzing.yml: Ensure that "make dist" includes all files for fuzzing 2025-03-14 23:15:24 +01:00
Sebastian Pipping
7959225d05 Makefile.am: Add missing files for xml_lpm_fuzzer 2025-03-14 23:15:24 +01:00
Sebastian Pipping
6d4ffe856d
Merge pull request #975 from libexpat/issue-974-prepare-release
Prepare release 2.7.0 (part of #974, ETA 2024-13-13)
2025-03-13 21:59:00 +01:00
Sebastian Pipping
2ae4c8afd3 Sync file headers 2025-03-13 20:41:33 +01:00
Sebastian Pipping
fd640c0915 Set release date for 2.7.0 2025-03-13 20:41:33 +01:00
Sebastian Pipping
0a6cbff62c Bump version to 2.7.0 2025-03-13 20:41:33 +01:00
Sebastian Pipping
70b24434c7 Bump version info from 11:0:10 to 11:1:10
See https://verbump.de/ for what these numbers do
2025-03-13 20:41:33 +01:00
Sebastian Pipping
f7611735f9 Changes: Document changes in release Expat 2.7.0 2025-03-13 20:41:33 +01:00
Sebastian Pipping
99529768b4
Merge pull request #973 from berkayurun/issue-893-fix-cve-2024-8176
[CVE-2024-8176] Resolve the recursion during entity processing to prevent stack overflow (fixes #893)
2025-03-13 17:21:23 +01:00