Commit Graph

6 Commits

Author SHA1 Message Date
Fabian Meumertzheim 5b1953b201
infra/java: Improve reproducibility of memory issues (#8736)
When reproducing, use slightly lower limits on heap and stack size so
that minimal changes to fuzz targets, fuzzer and runtime do not cause
memory issues to fail to reproduce.
2022-10-19 13:51:06 -04:00
Fabian Meumertzheim 10e888b561
[all] Make fuzz targets world executable (#5751)
Making fuzz targets only user executable as the root user makes them
non-executable outside the container, e.g. in the oss-fuzz/build/ dir.
2021-05-12 07:03:21 -07:00
Fabian Meumertzheim 54b71a17d9
[json-sanitizer] Fix dictionaries and add corpora (#5469) 2021-03-22 09:22:00 -07:00
jonathanmetzman aab2e82b4a
[jazzer][java-example] Fix native library loading. (#5262)
Prior to this change, native library loading failed for
two reasons:
1. Loading from current working directory instead of the fuzzer's
directory.
2. Using ASAN_OPTIONS=handle_segv=2.

Fix these issues by doing the following.
1. Adding the fuzzer's directory to LD_LIBRARY_PATH instead of "."
2. Specifying handle_segv=1 in ASAN_OPTIONS.

Related: https://github.com/google/oss-fuzz/issues/5178
2021-02-26 18:22:32 +00:00
jonathanmetzman 346370af46
[json-sanitizer][jazzer] Don't assume that fuzzer is run from its directory (#5217)
This is a speculative fix for an issue we've seen where the class
fails to load.
A simpler approach I did not use is cd-ing into $this_dir. I didn't
use this approach because it will break things if relative paths
are passed to the fuzzer by ClusterFuzz.

The other reason that I think could be responsible for the missing
class issues is not unpacking the zipfile fully.
2021-02-18 08:25:21 -08:00
Fabian Meumertzheim 587a0bde3f
[jazzer][json-sanitizer] Add json-sanitizer as the first JVM project (#5186)
json-sanitizer uses Maven and has no native dependencies.

The build file is loosely divided into two parts. The first part is
project-specific, the second one can serve as a template for JVM fuzz
targets without native dependencies.

The following three fuzz targets are added to OSS-Fuzz and can later be
moved into the json-sanitizer tree:

* DenylistFuzzer verifies that the output of json-sanitizer never
  contains certain substrings that can lead to HTML or XML injections.
* IdempotenceFuzzer verifies that json-sanitizer is idempotent.
* ValidJsonFuzzer verifies that the output of json-sanitizer is valid
  JSON by passing it into gson.
2021-02-16 10:13:29 -08:00