Commit Graph

8754 Commits

Author SHA1 Message Date
0xedward 0325500290
[hermes] Merge setup steps to reduce number of layers used (#9632) 2023-02-07 23:31:43 +00:00
Nathaniel Brough 383dc91556
perf(serde_urlencoded): Add new fuzzer, to improve coverage (#9612)
The original fuzzer makes some assumptions on specific properties.
Namely that Deserialise->Serialise->Deserialise was completely
symmetrical. However support for some parts of the API only includes
Serialising, so to fix this I've added the reverse/inverse fuzzer, which
improves code coverage substantially.

Signed-off-by: Nathaniel Brough <nathaniel.brough@gmail.com>
2023-02-07 13:44:15 -08:00
jonathanmetzman f029180d24
Add license checking for more languages (#9630) 2023-02-07 21:09:32 +00:00
vargen adc61605a0
Initial commit [rome] (#9526) 2023-02-07 11:06:50 -05:00
0xedward 26b7da17d2
[hermes] Remove select tests from test262, flow, esprima, and mjsunit from corpus (#9624)
Hermes's testsuite marks some tests in test262, flow, esprima and
mjsunit as tests not to run for one reason or another (e.g. unsupported
features, etc). This commit removes those tests from the seed corpus by
removing the tests explicit marked to be skipped in the `SKIP_LIST` and
`PERMANENT_SKIP_LIST` in `hermes/utils/testsuite/testsuite_skiplist.py`,
removing tests in mjsunit that use v8 runtime functions, and excludes
tests that have keywords from `UNSUPPORTED_FEATURES` and
`PERMANENT_UNSUPPORTED_FEATURES` in
`hermes/utils/testsuite/testsuite_skiplist.py` in the file contents or
in the path name.
2023-02-07 09:21:38 -05:00
DavidKorczynski b0fabdc1e9
nbformat: initial integration (#9625)
Signed-off-by: David Korczynski <david@adalogics.com>

Signed-off-by: David Korczynski <david@adalogics.com>
2023-02-07 12:46:06 +00:00
0xedward e4d183d883
[hermes] Add esprima, flow, and v8 unit tests to corpus (#9623) 2023-02-07 04:30:17 -08:00
Li-Yu Yu 7f78b29166
cras: Use --config=fuzzer to set extra flags (#9620)
For https://crrev.com/c/4218434.

Also fix Rust build to silence warning.
2023-02-07 04:22:11 -08:00
DavidKorczynski c251db97e9
wtforms: initial integration (#9621)
Signed-off-by: David Korczynski <david@adalogics.com>

---------

Signed-off-by: David Korczynski <david@adalogics.com>
2023-02-07 11:59:36 +00:00
DavidKorczynski 8eef436d90
python-rison: initial integration (#9622)
Signed-off-by: David Korczynski <david@adalogics.com>

Signed-off-by: David Korczynski <david@adalogics.com>
2023-02-07 11:59:21 +00:00
jonathanmetzman 2700848f3c
Make ostree centipede-compatible (#9619) 2023-02-07 05:24:22 +00:00
jonathanmetzman a9ecdd815c
Make more projects centipede-compatible (#9618) 2023-02-07 05:13:11 +00:00
jonathanmetzman c2029fd019
[infra][NFC] Silence some useless logging (#9617) 2023-02-07 04:20:31 +00:00
jonathanmetzman f750fddc97
Reduce size of swift image (#9614) 2023-02-06 23:04:26 -05:00
jonathanmetzman a75aab95ec
Fix centipede compilation (#9613)
1. Don't use trace-loads as it is not fully supported in LLVM and breaks
many projects (see
9383870160)
2. Use -Wl for link time options so they aren't unnecessarily used (also
fixes meson based projects).
2023-02-06 22:33:23 -05:00
jonathanmetzman 9bbc9ad236
[NFC] Don't print output when untarring honggfuzz (#9616)
Waste of space in the 5MB limited logs.
2023-02-06 22:21:59 -05:00
jonathanmetzman 54448052e0
Don't use -fsanitize=fuzzer-no-link with centipede (#9610)
It's pointless and has these drawbacks:
1. It add useless instrumentation not used by centipede that slows down
the target
2. It adds instrumentation that expects an implementation at link time
(__sancov_lowest_stack) which can break projects builds.

Fixes https://github.com/google/oss-fuzz/issues/9609
Related: https://github.com/google/oss-fuzz/issues/9299
https://github.com/google/oss-fuzz/issues/9583
2023-02-06 21:19:45 -05:00
jonathanmetzman daef594bce
[trial-builds] Speed up first trial build by using real image as cache (#9535) 2023-02-06 19:36:01 -05:00
jonathanmetzman 18f3e3231d
Don't hold back images that can be upgraded. (#9602)
This allows these projects to be compiled with centipede
Related: https://github.com/google/oss-fuzz/issues/9583
2023-02-06 19:34:38 -05:00
jonathanmetzman 860447a712
Fix centipede's bad_build_check projects with many targets (#9606) 2023-02-06 18:48:33 -05:00
jonathanmetzman 533df2c728
Upgrade circl's base image (#9605) 2023-02-06 18:31:53 -05:00
DavidKorczynski d101ed562a
httpretty: initial integration (#9604)
Signed-off-by: David Korczynski <david@adalogics.com>

---------

Signed-off-by: David Korczynski <david@adalogics.com>
2023-02-06 22:39:09 +00:00
DavidKorczynski da1e66bee7
defusedxml: initial integration (#9603)
Signed-off-by: David Korczynski <david@adalogics.com>

---------

Signed-off-by: David Korczynski <david@adalogics.com>
2023-02-06 22:38:47 +00:00
jonathanmetzman 0dff293ca5
Make fuzzers centipede-compatible (#9599)
Link fuzz targets with CXX instead of CC
2023-02-06 16:29:28 -05:00
jonathanmetzman 9f83585234
[centipede] Use /tmp for a workdir. (#9346)
$OUT gets zipped up and included as part of the build.

Fixes #9345
2023-02-06 16:27:13 -05:00
Mihai Maruseac f4cefbcfde
Install Python3 explicitly (#9507)
The issue in #8915 is that the environment no longer has a leftover
`python3` binary in `/bin/python3`. This uncovers a bug in the `upb` and
`jwt-verify-lib` Dockerfiles where `python2` was installed (or no Python
was installed).

The issue seems to show up on Bazel projects only due to the way Bazel
executes commands: it uses `env -` to run them in a clear environment,
meaning that even `$PATH` is altered. Before bc02fd0 the issues in the
Dockerfiles were hidden by the fact that the environment contained
multiple versions of Python and one happened to be matched by this
search path.

This fixes #8915, reverting #8914 and #8909 tweaks to #8915. I did not
do a similar thing for #8930 as maybe that can be fixed by changing the
base python image?

Tested: Tested that I can build the `upb` fuzzers with this change.

Signed-off-by: Mihai Maruseac <mihaimaruseac@google.com>

Signed-off-by: Mihai Maruseac <mihaimaruseac@google.com>
2023-02-06 16:05:57 -05:00
jonathanmetzman 7d75ea2605
Add centipede-none job to CI (#9600) 2023-02-06 15:47:29 -05:00
jonathanmetzman 70e8f70c36
[libpg_query] Fix typo (#9601) 2023-02-06 15:47:12 -05:00
jonathanmetzman 96afd58872
Make many projects centipede compatible (#9598)
Previously, they would break because they incorrectly used $CC to link
fuzz targets.
2023-02-06 15:46:06 -05:00
0xedward ec8870f155
[hermes] Strip comments from files in seed corpus (#9593)
Since libfuzzer, honggfuzz and AFL mutate at the byte level, mutating on
bytes in JS comments likely won't cause any meaningful crashes, so this
commit removes JS comments from files before we include them in the seed
corpus
2023-02-06 15:39:03 -05:00
jonathanmetzman 1e38acd1bf
Fix bad build check for centipede (#9596) 2023-02-06 15:34:51 -05:00
jonathanmetzman a99ad73548
Change order of tests so most important is first (#9597) 2023-02-06 12:34:50 -05:00
David Benjamin c22e58094f
Update CC list for BoringSSL (#9594)
Adding @bob-beck to the BoringSSL CC list.
2023-02-06 11:58:22 -05:00
Dongge Liu 50014560fd
Centipede skips seed corpus in build test (#9587)
In #9427, some projects [failed on
`bad_build_check`](https://pantheon.corp.google.com/cloud-build/builds;region=us-central1/31a7e835-32aa-49c8-81f1-f8d2eab9e3c1;step=20?project=oss-fuzz)
(e.g.,
[`matio`](https://github.com/google/oss-fuzz/tree/master/projects/matio)
has seed corpus) without explicit reason.
This is because `Centipede` [does not skip seed corpus in
`run_fuzzer`](a5ee351ed1/infra/base-images/base-runner/run_fuzzer (L89))
like [other
fuzzers](https://github.com/google/oss-fuzz/blob/master/infra/base-images/base-runner/bad_build_check#L147).

This PR sets the environment variable so that `Centipede` also skips
seeds and pass the `bad_build_check`.
2023-02-06 11:31:31 -05:00
Hayley Denbraver 467f5c5240
Update README.md (#9576)
While working on docs, I found that this link was broken. I have changed
it to the correct URL.
2023-02-06 10:32:48 -05:00
Guido Vranken 39c18f87b7
[wolfssl] Create fastmath fuzzer (#9547)
Previously, fastmath was the default option, and the build script
created a fuzzer without fastmath.

Some time ago, wolfSSL changed this so that no fastmath is the default
option, and this PR creates a dedicated fuzzer for fastmath.
2023-02-06 09:41:29 -05:00
Michael Ford d8fc39eacf
bitcoin-core: remove ccs of past contributors (#9589) 2023-02-06 08:28:48 -05:00
Yi Zha 4b6ef2c5b1
update email addresses to view bugs (#9592)
update email addresses to view bugs using google accounts

Signed-off-by: Yi Zha <zhayi@outlook.com>

Signed-off-by: Yi Zha <zhayi@outlook.com>
2023-02-06 12:14:11 +00:00
DavidKorczynski 8e0259f9c3
babel: initial integration (#9590)
Signed-off-by: David Korczynski <david@adalogics.com>

Signed-off-by: David Korczynski <david@adalogics.com>
2023-02-06 11:50:06 +00:00
DavidKorczynski 7e0ebdc965
bz2file: initial integration (#9591)
Signed-off-by: David Korczynski <david@adalogics.com>

Signed-off-by: David Korczynski <david@adalogics.com>
2023-02-06 11:49:46 +00:00
Daniel Löbl b4f7c414e6
cgif: enable memory sanitizer (#9582)
Enable memory sanitizer for [cgif](https://github.com/dloebl/cgif). I
already found one small issue testing it locally (timeout crash reported
by oss-fuzz):

```
$ ./build/fuzz/cgif_fuzzer_standalone clusterfuzz-testcase-cgif_fuzzer-6560939899224064

==26604==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x7f6a00f022ba  (/home/dbl/projects/cgif/build/fuzz/../libcgif.so.0+0x162ba) (BuildId: 41f9aa2f4c1d42966ca54004a6e73b2e1bb38d78)
   [...]
SUMMARY: MemorySanitizer: use-of-uninitialized-value (/home/dbl/projects/cgif/build/fuzz/../libcgif.so.0+0x162ba) (BuildId: 41f9aa2f4c1d42966ca54004a6e73b2e1bb38d78) 
Exiting
```

Fixed with https://github.com/dloebl/cgif/pull/57.
2023-02-06 02:15:28 -08:00
Nathaniel Brough 23e7c58e78
Fixes code coverage for gitoxide (#9581)
Signed-off-by: Nathaniel Brough <nathaniel.brough@gmail.com>
2023-02-06 02:14:05 -08:00
Michael Ford 785b795ab1
bitcoin-core: drop additional dependency cflags passing (#9585)
After some changes we made upstream, passing the flags in this way
*should* no-longer be required.
2023-02-06 02:13:43 -08:00
Jay Berkenbilt ab9e948cf3
Build qpdf's libjpeg-turbo with position-independent code (#9584)
qpdf's build has been failing with errors within its own build of
libjpeg-turbo because of lack of position-independent code. This change
forces libjpeg-turbo to build with PIC even though we continue to build
only static libraries. I have reproduced the build failure locally using
the fuzz docker images and have reproduced locally that this fixes it.
2023-02-06 02:13:20 -08:00
Catena cyber a7f14d68b6
ecc-diff-fuzzer: fix build with new repo for libecc (#9586)
To fix https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=55001
2023-02-06 02:12:46 -08:00
Lovell Fuller a5ee351ed1
libvips: link with tiff before jpeg (#9575)
The libvips build is currently failing due to an API change in
`libjpeg-turbo` that "unlocked" a previously-unused feature of
`libtiff`, which means the dependency order between the two must now
change.

https://oss-fuzz-build-logs.storage.googleapis.com/index.html#libvips
2023-02-04 09:01:19 -08:00
Kit Chan bab8233066
[trafficserver] Fix on Esi Fuzzer (#9577)
Need to init the Utils. Otherwise there are some failures in the tests.
2023-02-04 09:00:54 -08:00
DavidKorczynski 246e677d07
libgit2: fix build (#9580) 2023-02-04 16:49:00 +00:00
DavidKorczynski ec2f6914b5
netcdf: fix build (#9579) 2023-02-04 16:48:34 +00:00
DavidKorczynski 26d7840b77
tinyxml2: make OSS-Fuzz flags are used in build (#9578)
Currently OSS-Fuzz flags are not set when building the tinyxml2 library
due to
e05956094c/Makefile (L13).
Consequentially, coverage is low (only that which is in the fuzzer
source file). This fixes it by avoiding to overwrite the CXXFLAGS in the
build.
2023-02-04 16:48:20 +00:00