Commit graph

4412 commits

Author SHA1 Message Date
Sebastian Pipping
ae1fc71ebb fuzzers|cmake: Use proper library order for linking xml_lpm_fuzzer 2025-02-23 04:40:21 +01:00
Sebastian Pipping
cf28b6de98 Revert "fuzzers|cmake: Disable xml_lpm_fuzzer for -DEXPAT_OSSFUZZ_BUILD=ON"
This reverts commit 392fb29e67.
2025-02-23 04:25:24 +01:00
Sebastian Pipping
e89dc4e7a3
Merge pull request #960 from libexpat/coverity-scan-upload
Submit a build to Coverity Scan for static analysis
2025-02-22 16:53:16 +01:00
Sebastian Pipping
d9f802ea8d Submit a build to Coverity Scan for static analysis 2025-02-22 16:10:18 +01:00
Sebastian Pipping
ca7321b9fc
Merge pull request #959 from libexpat/tests-benchmark-improve
`tests/benchmark`: Fix a harmless TOCTTOU + upfront refactorings + improve error messages
2025-02-22 16:08:31 +01:00
Sebastian Pipping
7f5903483e tests/benchmark: Make error messages more technical 2025-02-21 23:31:32 +01:00
Sebastian Pipping
ead919d692 tests/benchmark: Resolve (harmless) TOCTTOU
.. that was reported by Coverity Scan.

https://en.wikipedia.org/wiki/Time-of-check_to_time-of-use
2025-02-21 23:31:32 +01:00
Sebastian Pipping
5f4144a6bc tests/benchmark: Add missing call to fclose 2025-02-21 23:31:23 +01:00
Sebastian Pipping
4de3d65003 tests/benchmark: Resolve needless use of exit for clarity 2025-02-21 22:24:16 +01:00
Sebastian Pipping
524096c139 tests/benchmark: Rename misleading variable "fd" to "file" 2025-02-21 22:19:26 +01:00
Sebastian Pipping
c4a0ab7265
Merge pull request #957 from libexpat/fuzzing-coverage-report
`fuzzing.yml`: Start producing code coverage report
2025-02-14 22:59:59 +01:00
Sebastian Pipping
879c8faecd fuzzing.yml: Evaluate one single fuzzer at a time, in parallel 2025-02-14 22:00:18 +01:00
Sebastian Pipping
0fa794d333 fuzzing.yml: Make clear that fuzzing logs are about the last batch 2025-02-14 22:00:18 +01:00
Sebastian Pipping
39d2ebb467 fuzzing.yml: Start producing code coverage report 2025-02-14 22:00:18 +01:00
Sebastian Pipping
deb5af9954
Merge pull request #956 from libexpat/get-off-of-ubuntu-20-04
Get CI off of about-to-be-removed Ubuntu 20.04
2025-02-12 02:21:35 +01:00
Sebastian Pipping
71dcb3a835 expat_config_h.yml: Sync expat_config.h.in expectation for Ubuntu 22.04 2025-02-12 01:08:30 +01:00
Sebastian Pipping
dee6610959 linux.yml: Drop workarounds for installing wine32:i386
.. that where needed with GitHub Actions image "ubuntu-20.04"
but are no longer necessary with image "ubuntu-22.04"
2025-02-12 01:07:09 +01:00
Sebastian Pipping
f6e6bb1578 Get CI off of about-to-be-removed Ubuntu 20.04 2025-02-12 01:06:29 +01:00
Sebastian Pipping
571b1bb05e
Merge pull request #955 from libexpat/fix-build-for-oss-fuzz
fuzzers|cmake: Disable `xml_lpm_fuzzer` for `-DEXPAT_OSSFUZZ_BUILD=ON`
2025-02-11 15:05:34 +01:00
Sebastian Pipping
392fb29e67 fuzzers|cmake: Disable xml_lpm_fuzzer for -DEXPAT_OSSFUZZ_BUILD=ON
.. to give OSS-Fuzz a chance at a successful build while their
images are based on Ubuntu 20.04 with too-old Protobuf

PS: Display this commit with "-w" to see it best.
2025-02-11 14:24:57 +01:00
Sebastian Pipping
c577981ffa
Merge pull request #954 from libexpat/fuzzers-bump-libprotobuf-mutator
Fuzzers: Bump libprotobuf-mutator to v1.4-8-g75f1720
2025-02-07 20:31:15 +01:00
Sebastian Pipping
9e906b5bf1 fuzzers|cmake|ci: Save compile time on libprotobuf-mutator examples
As a side effect, CI no longer needs to install liblzma-dev.
2025-02-07 19:05:59 +01:00
Sebastian Pipping
14424c70fb fuzzers|cmake: Bump libprotobuf-mutator to v1.4-8-g75f1720 2025-02-07 19:05:59 +01:00
Sebastian Pipping
78767684c3 fuzzers|cmake: Break up long line (before making it even longer) 2025-02-07 19:05:59 +01:00
Sebastian Pipping
e89e86a90b
Merge pull request #953 from valord577/patch-1
Fix warning: no `-Wno-pedantic-ms-format` (`-Wunknown-warning-option`) for LLVM MinGW
2025-02-07 17:17:15 +01:00
valord577
4cb89e6128
fix warning: no -Wno-pedantic-ms-format for llvm mingw
ONLY gcc has `-Wno-pedantic-ms-format`:

https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wno-pedantic-ms-format
2025-02-07 15:51:26 +08:00
Sebastian Pipping
c628ac4d95
Merge pull request #952 from libexpat/fuzzers-stop-linking-against-abseil-explicitly
fuzzers|cmake: Stop linking `xml_lpm_fuzzer` against Abseil, explicitly
2025-02-07 00:07:22 +01:00
Sebastian Pipping
3e82dcb383 fuzzers|cmake: Stop linking xml_lpm_fuzzer against Abseil, explicitly
This reverts commit d7e41e2de8
but also also adjusts CI.
2025-02-06 23:24:49 +01:00
Sebastian Pipping
079fc26a06
Merge pull request #951 from libexpat/fuzzers-check-for-protobuf-compiler
fuzzers|cmake: Check for availability of protobuf compiler
2025-02-03 19:18:59 +01:00
Sebastian Pipping
84ccc3e341 fuzzers|cmake: Check for working protobuf compiler 2025-02-03 18:34:49 +01:00
Sebastian Pipping
caac94df7e
Merge pull request #950 from libexpat/pull-617-finish
Add new fuzzer `xml_lpm_fuzzer` (replaces pull request #617)
2025-02-03 02:59:07 +01:00
Sebastian Pipping
a0b8957db2 Sync file headers 2025-02-03 01:37:51 +01:00
Sebastian Pipping
c18e90f927 xml_lpm_fuzzer: Use common attribution format 2025-02-03 01:36:22 +01:00
Sebastian Pipping
2a615bc3c5 xml_lpm_fuzzer: Unstuck MallocHook and ReallocHook
.. so that they fail single allocations, not all
allocations after a certain point.  Previously
fail_allocations of [6, 2, 20] worked the same way
fail_allocations of [2], likely by accidently.
2025-02-03 01:23:41 +01:00
Sebastian Pipping
1ed7be5bf7 linux.yml: Drop -DEXPAT_BUILD_FUZZERS=ON case in favor of fuzzing.yml 2025-02-02 22:35:01 +01:00
Sebastian Pipping
57d6e4ad56 fuzzing.yml: Assert xml_lpm_fuzzer executability
.. while it is not being using to run any regression tests
2025-02-02 22:34:50 +01:00
Sebastian Pipping
69a7a7090d fuzzing.yml: Bump to Ubuntu 24.04
Due to broken(?) CMake in Ubuntu 22.04, symptom was:
> CMake Error: Error required internal CMake variable not set, cmake may not be built correctly.
> Missing variable is:
> CMAKE_CXX_LINK_EXECUTABLE
> CMake Generate step failed.  Build files cannot be regenerated correctly.
2025-02-02 22:19:06 +01:00
Sebastian Pipping
8d7f50bc6e fuzzing.yml: Pass C++ compiler and compile flags to CMake 2025-02-02 22:19:06 +01:00
Sebastian Pipping
0497f35d04 fuzzing.yml: Install build dependencies of xml_lpm_fuzzer 2025-02-02 22:19:06 +01:00
clang-format 19.1.2
922e95a393 xml_lpm_fuzzer: Apply clang-format 19.1.2 2025-02-02 22:19:06 +01:00
Sebastian Pipping
b223d302cb xml_lpm_fuzzer: Address warning -Wunused-parameter 2025-02-02 22:19:06 +01:00
Sebastian Pipping
15b1af6716 xml_lpm_fuzzer: Address warning -Wsign-compare
Symptom was:
> [..]/expat/fuzz/xml_lpm_fuzzer.cpp:157:25: error: comparison of integers of different signs: 'int' and 'unsigned int' [-Werror,-Wsign-compare]
>   157 |       for (int i = 0; i < content->numchildren; ++i) {
>       |                       ~ ^ ~~~~~~~~~~~~~~~~~~~~
> [..]/expat/fuzz/xml_lpm_fuzzer.cpp:183:25: error: comparison of integers of different signs: 'int' and 'unsigned int' [-Werror,-Wsign-compare]
>   183 |       for (int i = 0; i < content->numchildren; ++i) {
>       |                       ~ ^ ~~~~~~~~~~~~~~~~~~~~
> [..]/expat/fuzz/xml_lpm_fuzzer.cpp:413:24: error: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'int' [-Werror,-Wsign-compare]
>   413 |   for (size_t i = 0; i < testcase.fail_allocations_size(); ++i) {
>       |                      ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> [..]/expat/fuzz/xml_lpm_fuzzer.cpp:421:24: error: comparison of integers of different signs: 'size_t' (aka 'unsigned long') and 'int' [-Werror,-Wsign-compare]
>   421 |   for (size_t i = 0; i < testcase.actions_size(); ++i) {
>       |                      ~ ^ ~~~~~~~~~~~~~~~~~~~~~~~
2025-02-02 22:19:06 +01:00
Sebastian Pipping
48afe247ce xml_lpm_fuzzer|cmake: Replace -fsanitize=fuzzer-no-link by -fsanitize=fuzzer
Same as commit bf9caf7ac4, different target.
2025-02-02 22:19:06 +01:00
Sebastian Pipping
ea98a87971 xml_lpm_fuzzer: Add trailing newline 2025-02-02 22:19:06 +01:00
Sebastian Pipping
ea492aa54d xml_lpm_fuzzer: Add missing call to InitializeParser after XML_ParserReset 2025-02-02 22:19:06 +01:00
Sebastian Pipping
6933ee68f1 xml_lpm_fuzzer: Resolve dead code 2025-02-02 22:19:06 +01:00
Sebastian Pipping
d7736d9cfa xml_lpm_fuzzer: Resolve unused function parameter 2025-02-02 22:19:06 +01:00
Sebastian Pipping
4962f317d2 xml_lpm_fuzzer: Rename function to better match its nature 2025-02-02 22:19:06 +01:00
Sebastian Pipping
e183cb9811 xml_lpm_fuzzer: Be more thorough in model validation 2025-02-02 22:19:06 +01:00
Sebastian Pipping
5f42436e02 xml_lpm_fuzzer: Fix mistaken use of XML_Char 2025-02-02 22:19:06 +01:00