Commit Graph

11093 Commits

Author SHA1 Message Date
Tim Allison d6f73fbd2a
Build in stages to shed 9gb from the jvm base builder image (#12649)
This PR reduces the final `base-builder-jvm` image by 9GB.

Careful review and full integration testing across oss-fuzz projects are
required before merging, obviously.

This worked on two projects I was interested in. One that used
`@FuzzTest` and one that used `fuzzerTestOneInput`
2024-11-15 08:42:44 -08:00
Ilija Tovilo 1de481ba18
Switch to gmail account (#12723)
As explained by Jonathan, non-google accounts are no longer supported.

Fixes #12717
2024-11-15 14:01:07 +00:00
Vitor Guidi 0bc3d2f1ce
Fix typo on cubefs project.yaml (#12716)
This typo is breaking oss_fuzz_apply_ccs.
2024-11-14 16:12:26 -03:00
Ken Gaillot f5bc1acc3a
pacemaker: update contact (#12714) 2024-11-14 16:47:22 +00:00
DavidKorczynski e3ba11b56e
shaderc: add harness (#12712)
Signed-off-by: David Korczynski <david@adalogics.com>
2024-11-14 14:55:00 +00:00
David Lakin 30da5abe5c
[jsonpickle]: Move Fuzz Harness & Configuration Upstream (#12571)
The `jsonpickle` project maintainers would like to take ownership of the
OSS-Fuzz integration & test harnesses.

@davvid is the project's primary maintainer and `primary_contact`.
@Theelx is a core contributor added to the CC list. Approval for these
changes can be found in the related upstream discussion here:
https://github.com/jsonpickle/jsonpickle/issues/496.


The Upstream integration PR (as referenced in the comments below) has
been merged: https://github.com/jsonpickle/jsonpickle/pull/525

### Notes

@DavidKorczynski I've removed your email from the `project.yaml` as I
believe it was added as a fallback in the absence of a `primary_contact`
for the project. Please let us know if you disagree with this change.
2024-11-12 21:45:43 +00:00
DavidKorczynski 46ea9a688a
sqlite3: fix build (#12710)
Fixes: https://github.com/google/oss-fuzz/issues/12709

---------

Signed-off-by: David Korczynski <david@adalogics.com>
2024-11-12 13:10:19 +00:00
Arthur Chan cd11db74be
utf8parse: project initialisation (#12627)
This PR initialises OSS-Fuzz integration for the utf8parse project in
Rust. New fuzzers have been created, and a PR
(https://github.com/alacritty/vte/pull/116) has been submitted upstream
to merge the fuzzers.

***REMARK: This PR only works when the upstream fuzzers PR has been
merged.**

---------

Signed-off-by: Arthur Chan <arthur.chan@adalogics.com>
2024-11-11 18:08:46 +00:00
DavidKorczynski c8004d2e15
vulkan-loader: update contacts (#12707)
Ref: https://github.com/KhronosGroup/Vulkan-Loader/pull/1590

CC: @charles-lunarg
2024-11-11 18:07:30 +00:00
tyler92 31c177af4f
llvm_libcxxabi: fix build (#12701)
This PR fixes a build error by adding `src/abort_message.cpp` to the
linker. It requires because
[DEMANGLE_ASSERT](230946fad6/libcxxabi/src/cxa_demangle.cpp (L14))
is used in the demangling module.

```
cxa_demangle.cpp:(.text._ZNK12_GLOBAL__N_116itanium_demangle4Node5visitINSt3__117reference_wrapperINS_11DumpVisitorEEEEEvT_[_ZNK12_GLOBAL__N_116itanium_demangle4Node5visitINSt3__117reference_wrapperINS_11DumpVisitorEEEEEvT_]+0xfcd): undefined reference to `__abort_message'
/usr/bin/ld: /tmp/cxa_demangle-39bd04.o: in function `__cxa_demangle':
cxa_demangle.cpp:(.text.__cxa_demangle[__cxa_demangle]+0x192c): undefined reference to `__abort_message'
/usr/bin/ld: /tmp/cxa_demangle-39bd04.o: in function `(anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::parseEncoding(bool)':
cxa_demangle.cpp:(.text._ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E13parseEncodingEb[_ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E13parseEncodingEb]+0x297b): undefined reference to `__abort_message'
/usr/bin/ld: /tmp/cxa_demangle-39bd04.o: in function `(anonymous namespace)::itanium_demangle::AbstractManglingParser<(anonymous namespace)::itanium_demangle::ManglingParser<(anonymous namespace)::DefaultAllocator>, (anonymous namespace)::DefaultAllocator>::popTrailingNodeArray(unsigned long)':
cxa_demangle.cpp:(.text._ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20popTrailingNodeArrayEm[_ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20popTrailingNodeArrayEm]+0x407): undefined reference to `__abort_message'
/usr/bin/ld: cxa_demangle.cpp:(.text._ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20popTrailingNodeArrayEm[_ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20popTrailingNodeArrayEm]+0x441): undefined reference to `__abort_message'
/usr/bin/ld: /tmp/cxa_demangle-39bd04.o:cxa_demangle.cpp:(.text._ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E18parseTemplateParamEv[_ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E18parseTemplateParamEv]+0xffd): more undefined references to `__abort_message' follow
```


https://oss-fuzz-build-logs.storage.googleapis.com/log-85060829-7b6e-4940-bdbc-8fbf81f2055a.txt
2024-11-11 16:31:14 +00:00
Johny Lin 9f619c5acf
sound-open-firmware: change main contact to johnylin (#12704)
Changed the main contact of project/sound-open-firmware to johnylin@ and
moved andyross@ to cc.

Signed-off-by: Johny Lin <johnylin@google.com>
2024-11-11 16:29:50 +00:00
DavidKorczynski 64186378d2
shaderc: initial integration (#12705)
Signed-off-by: David Korczynski <david@adalogics.com>
2024-11-11 15:29:27 +00:00
Mirco Miranda 19b2d434ac
KImageFormats: JXR library modified with a patched one (#12702)
The previous version does not accept changes and is compiled by default
without the NDEBUG option.
2024-11-11 14:30:21 +00:00
DavidKorczynski 0b69e19c1c
llamacpp: fix build (#12703)
Signed-off-by: David Korczynski <david@adalogics.com>
2024-11-10 17:53:22 +00:00
Jeffrey Charles 81b41ad37a
Add javy project (#12671)
Add Javy project according to instructions provided in
https://google.github.io/oss-fuzz/getting-started/accepting-new-projects/.

---------

Co-authored-by: Vitor Guidi <vitorguidi@gmail.com>
2024-11-07 17:28:38 -05:00
edoardo 7f138b9022
feat(wasmer): Update build scripts to latest release (#12686)
We recently released a new version of Wasmer and, among other things, we
now use LLVM 18 and rust 1.81: this small patch bumps them to the
correct versions in the scripts.

---------

Co-authored-by: Vitor Guidi <vitorguidi@gmail.com>
2024-11-07 15:46:34 -03:00
Pradyot Ranjan 84e73c15f0
[kubearmor]: Initial integration (#12651)
Kubearmor is a Runtime Security Enforcement System leveraging LSMs
(BPF-LSM, AppArmor).

More about KubeArmor [here](https://kubearmor.io/)

This PR covers initial integration with some fuzzers.

---------

Signed-off-by: prady0t <rickprimeranjan@gmail.com>
Co-authored-by: Vitor Guidi <vitorguidi@gmail.com>
2024-11-07 15:22:15 -03:00
René Kijewski 73412414c0
rinja: initial integration (#12642)
[Rinja] is a fork of [askama], which is already accepted to oss-fuzz.
Rinja is used e.g. in

* [clippy]'s online documentation (11.4k Github stars),
* [plotly.rs]'s HTML output generation (1.1k Github stars),
* [redlib]'s frontend (1.3k Github stars),
* [rust]'s crate documentation generation (97.9k Github stars),
* [uniffi]'s code generation (2.8k Github stars), and
* [zoxide]'s shell template generation (22.5k Github stars).

Rinja uses fuzzing in its CI testing, and it has fixed findings like
[issue 42532221], which is open in askama since 2024-04-22, i.e. for
half a year.

[askama]: <https://github.com/djc/askama/>
[uniffi]: <https://github.com/mozilla/uniffi-rs/>
[clippy]: <https://github.com/rust-lang/rust-clippy/>
[redlib]: <https://github.com/redlib-org/redlib/>
[Rinja]: <https://github.com/rinja-rs/rinja/>
[rust]: <https://github.com/rust-lang/rust/>
[plotly.rs]: <https://github.com/plotly/plotly.rs/>
[issue 42532221]: <https://issues.oss-fuzz.com/issues/42532221>
[zoxide]: <https://github.com/ajeetdsouza/zoxide>

---------

Co-authored-by: Vitor Guidi <vitorguidi@gmail.com>
2024-11-07 15:12:31 -03:00
ennamarie19 c49a569aba
pdfplumber: Initial Project Proposal (#12567)
I am requesting permission to integrate
[pdfplumber](https://github.com/jsvine/pdfplumber) into OSSFuzz. I
believe that this project is a good candidate for OSS-Fuzz integration
as it extracts a PDF for detailed information about each text character,
rectangle, and line. It is used by over 12.500 repositories and 245
packages. Most notably, langflow (30k+ stars), DB-GPT (13k+ stars),
unstructured (8k+ stars) and PaddleNLP (12k+ stars)

Please see upstream approval for integration
[here](https://github.com/jsvine/pdfplumber/issues/1198)

Co-authored-by: Vitor Guidi <vitorguidi@gmail.com>
2024-11-07 14:52:18 -03:00
ennamarie19 98d026d2b7
jupytext: Initial Project Proposal (#12581)
I am requesting permission to integrate
[jupytext](https://github.com/mwouts/jupytext) into OSS-Fuzz. I believe
that this project is a good candidate for OSS-Fuzz integration. It is a
Python package that provides two-way conversion between Jupyter
notebooks and several other text-based formats like Markdown documents
or scripts. It is used by over 8,000 repositories and 340 packages. Most
notably, google/flax (6k+ stars), Azure/PyRIT (1.8k+ stars), scipy/scipy
(13k+ stars), ploomber (3.5k+ stars) and jupyter-book (3.8k+ stars)

Please see upstream approval for integration:
https://github.com/mwouts/jupytext/issues/1236

Co-authored-by: Vitor Guidi <vitorguidi@gmail.com>
2024-11-07 14:49:58 -03:00
Oliver Chang ff5360419e
cached build: Re-build for every sanitizer. (#12695) 2024-11-07 15:19:31 +11:00
DavidKorczynski e3ccf897f8
ofg: prepare use of cached images (#12693)
Ref: https://github.com/google/oss-fuzz-gen/pull/696

---------

Signed-off-by: David Korczynski <david@adalogics.com>
Co-authored-by: Oliver Chang <ochang@google.com>
2024-11-07 12:40:57 +11:00
Mirco Miranda edfa6730fa
KImageFormats: Added SCITEX plugin and updated libraries (#12690)
Apply the following changes to the KImageFormats project:
- Moved EXR lib to branch 3.3
- Update AVIF lib to latest patch release
- Added SCITEX plugin to fuzzer test
- Fixed KDE/extra-cmake-modules build error
2024-11-06 14:54:32 +00:00
Oliver Chang 6fabfa4baf
target_experiment: Properly propagate real name. (#12692)
Follow up to #12691
2024-11-06 16:03:59 +11:00
Oliver Chang 2c733ba65b
Make target_experiment with with OSS-Fuzz-Gen. (#12691)
OSS-Fuzz-Gen creates fake project names, but for cached images to work
we need the real name.
2024-11-06 15:00:49 +11:00
DavidKorczynski 51e01dcebc
infra: add script to capture replayable commands (#12608)
Giving
https://github.com/google/oss-fuzz/pull/12592#issuecomment-2415803665 a
go using `bashlex`

Will place a script in `/out/replay-build-script.sh` with the script
that can be used for replaying.

This is still poc and will need some adjustments, e.g. we need some more
handling on the bash script's ast to reason about loops.

---------

Signed-off-by: David Korczynski <david@adalogics.com>
Co-authored-by: Oliver Chang <ochang@google.com>
2024-11-06 13:00:19 +11:00
Oliver Chang 9f56cf477e
Make ccache work with jcc. (#12689)
Create ccache wrappers for clang[++]-jcc, and remove the explicit path
from the CC/CXX variables in target_experiment.py.

Note: this is not fully tested end to end yet.

Part of https://github.com/google/oss-fuzz-gen/issues/682.
2024-11-05 10:48:52 +00:00
Arash Partow d5619e1f7a
Update ExprTk Fuzzer (#12688)
- Additional RTCs:
  1. Compilation time-out RTC
  2. Vector access RTC
  3. Assert handler
 
- Set maximum vector size (#64099)
- Ensure tests don't exceed 60sec time limit (#56181, #38029, #44308)
2024-11-04 20:33:01 +00:00
Arthur Chan 9a509256de
tar-rs: Initial integation (#12645)
This PR initialises OSS-Fuzz integration for the tar-rs project in Rust.
New fuzzers have been created, and a PR
(https://github.com/alexcrichton/tar-rs/pull/385) has been submitted
upstream to merge the fuzzers.

---------

Signed-off-by: Arthur Chan <arthur.chan@adalogics.com>
2024-11-04 20:16:57 +00:00
Sergey Bronnikov ddb7f4fe06
[lua] Disable building Aarch64 (#12685)
See also [1] and [2].

1. https://github.com/google/oss-fuzz/issues/12670
2. https://github.com/ligurio/lua-c-api-tests/issues/108
2024-11-04 09:20:04 +00:00
DavidKorczynski a85eebb40b
infra: enable building projects using cached images (#12597)
Signed-off-by: David Korczynski <david@adalogics.com>
Co-authored-by: Oliver Chang <ochang@google.com>
2024-11-01 20:50:27 +00:00
jonathanmetzman a181f3f882
Remove abartlett work email address (#12679)
As requested in https://github.com/google/oss-fuzz/pull/12605 Sorry for
the spam. It happened by accident when migrating bug trackers. It should
no longer be an issue. Let me know if you want more emails again :-)
2024-11-01 11:10:23 -04:00
Arthur Chan 47b2e9cd0a
unicode-rs: Add fuzzer for unicode-normalization module (#12653)
This PR add a new fuzzer for the unicode-normalization module under the
unicode-rs repository. The fuzzer has been merged in upstream
repository.

---------

Signed-off-by: Arthur Chan <arthur.chan@adalogics.com>
2024-11-01 14:40:35 +00:00
tyler92 9cdf741329
boost-json: Use latest builder (#12648)
Latest builder and small refactoring for build.sh

Co-authored-by: Vitor Guidi <vitorguidi@gmail.com>
2024-11-01 10:50:33 -03:00
fanquake e0b8762553
bitcoin: drop no-longer existent depends options (#12659)
See https://github.com/bitcoin/bitcoin/pull/31130.
See also https://github.com/bitcoin/bitcoin/pull/30043.
2024-11-01 10:47:50 -03:00
Oliver Chang 36f31300f0
Fix entrypoint for chronos images. (#12677) 2024-11-01 14:42:45 +11:00
Oliver Chang dd978a43f8
Add ccache to base-builder. (#12675)
This installs clang wrappers at /ccache/bin, and sets up a build cache
at /ccache/cache. To use this, inside the project container we just need
to do:

```
export PATH=/ccache/bin:$PATH
```

In another PR, we can store the /ccache/cache somewhere we can pull down
at runtime.

Some results:

Fresh compile:

real	0m49.249s
user	10m41.818s
sys	1m2.097s

With ccache cache:

real	0m9.877s
user	0m6.278s
sys	0m19.966s

Fresh compile:

real	1m17.214s
user	0m49.454s
sys	0m27.963s

With ccache:

real	0m34.962s
user	0m18.092s
sys	0m17.083s
2024-11-01 13:42:39 +11:00
Oliver Chang c68e8e0125
Update sanitizer strings for chronos builds. (#12676)
Make these match the formatting conventions oss-fuzz already uses (i.e.
"address" instead of "asan").
2024-11-01 13:18:52 +11:00
Yuta Saito 65939bedc7
[CFL] Interpret `PARALLEL_FUZZING` as a boolean value (#12655)
The `PARALLEL_FUZZING` environment variable is used to enable parallel
fuzzing in CFLite. The variable is always defined by GH Action, but it
was not interpreted as a boolean value, so it was always enabled even if
the option is set to `false`.

Co-authored-by: Vitor Guidi <vitorguidi@gmail.com>
2024-10-31 13:07:15 -04:00
Tristan F.-R. 9b858e019c
[bson-rust] add raw_deserialize_utf8_lossy target (#12610)
To complement https://github.com/mongodb/bson-rust/pull/500

Co-authored-by: Vitor Guidi <vitorguidi@gmail.com>
2024-10-31 13:45:37 -03:00
Curtis Malainey 326d8e8586
sound-open-firmware: restore build, semantic fix and enable UBSAN (#12607)
Signed-off-by: Curtis Malainey <cujomalainey@chromium.org>
Co-authored-by: Vitor Guidi <vitorguidi@gmail.com>
2024-10-31 13:22:10 -03:00
Arthur Chan e137231e71
Keycloak: Add missing native library (#12666)
This PR fixes the issue https://issues.oss-fuzz.com/u/7/issues/369683281
which has missing native library.

Signed-off-by: Arthur Chan <arthur.chan@adalogics.com>
2024-10-30 23:31:33 +00:00
Alex Crichton ac1b908b7b
Fix a typo in Wasmtime's coverage regex (#12668)
This fixes a mistake in #12661 to improve the coverage reports for
Wasmtime.
2024-10-30 23:24:49 +00:00
Nick Wellnhofer a201365915
libxml2: Disable aarch64 (#12669)
In the last days, this seems to cause build failures like:

    "compile-libfuzzer-address-aarch64": exec /usr/bin/bash: exec
    format error
2024-10-30 23:24:30 +00:00
Arthur Chan 73445dce9f
rust-semver-parser: initial integration (#12636)
This PR initialises OSS-Fuzz integration for the semver-parser project
in Rust. New fuzzers have been created, and a PR
(https://github.com/steveklabnik/semver-parser/pull/63) has been
submitted upstream to merge the fuzzers.

REMARK: This PR only works when the upstream fuzzers PR has been merged.

---------

Signed-off-by: Arthur Chan <arthur.chan@adalogics.com>
2024-10-30 23:13:03 +00:00
tyler92 f12a352832
kcodecs: fix build (#12662)
Changes:

1. `-DBUILD_TESTING=OFF` for `extra-cmake-modules` and `kcodecs`
2. `-qt-zlib` for `qtbase`
2024-10-30 10:35:15 -03:00
Bob Friesenhahn ce43bc379b
graphicsmagick: Pull stable branch of x265 project (#12664)
Pull from stable branch of x265 project for builds. Default repository
content does not seem to be fully populated for use.

Co-authored-by: Vitor Guidi <vitorguidi@gmail.com>
2024-10-30 10:34:13 -03:00
Arthur Chan 75320b1a9b
servo: Add new fuzzer for rust-url project (#12654)
A new fuzzer has been accepted and merged into the upstream repository
for the rust-url module in the Servo repository. This PR updates the
build script accordingly and adds a new contributor's email to the
project.yaml file of this project.

Signed-off-by: Arthur Chan <arthur.chan@adalogics.com>
2024-10-29 21:24:01 +00:00
Christian Mazakas 39036e0ed9
Update Boost project.yaml (#12650)
I'm trying to help @jzmaddock with various issues found via fuzzing and
I need access to the invalid test cases as they come in.
2024-10-29 15:08:13 +00:00
Alex Crichton 78a9532e2e
Improve Wasmtime's coverage reports (#12661)
Try adding a few ignores for dependencies that we're not interested in
to help improve the quality of the coverage reports coming out of
fuzzing for Wasmtime.
2024-10-28 20:28:59 +00:00