Commit Graph

2738 Commits

Author SHA1 Message Date
Max Moroz 3c6e2bc79a [infra] Bring -ldl flag back and suppress warning messages (follow-up #1547). 2018-08-20 10:56:51 -07:00
Max Moroz 113274a890 [infra] Fix check for qualified target name: include "_" (follow-up #1547). 2018-08-20 10:35:10 -07:00
Max Moroz ab17c5f915 [infra] Do not mark coverage job as failed when there are no targets list (follow-up for #1547). 2018-08-20 10:26:27 -07:00
Max Moroz 696c46cedd [infra] Use correct directory name for coverage jobs (follow-up for #1738). 2018-08-20 07:22:24 -07:00
Max Moroz 903c07ae69
[infra] Set up project dir for coverage job properly. (#1738)
* [infra] Set up project dir for coverage job properly.

* Fix weird typo.
2018-08-20 07:15:54 -07:00
Kevin Lubick 5d1936fce5 [skia] fix build (#1737) 2018-08-20 06:59:40 -07:00
Max Moroz 4574ff8bdb
[infra] Add the build configuration and other pieces for clang code coverage. (#1547)
* [infra] Add the build configuration and other pieces for clang code coverage.

* Address the initial feedback, still a draft with some pieces missing.

* Trying to test things locally.

* Work in progress, now able to test the build process.

* Rebase and fix a comment.

* Figure out how to upload report, but still have issues with GCS access.

* Remove unnecessary debug prints.

* WIP: adding targets list reading + minor clean up.

* WIP

* WIP: now it works end to end but is very dirty and has limitations.

* WIP: use rsync -r -d to overwrite older reports (if any)

* WIP: trying to use a helper script for bulk corpus download.

* WIP: download corpus in batches passed via args.

* WIP: testing corpus downloading in batches.

* WIP: woohoo, now it works!

* Some cleanup for a high level review.

* Address review comments and add FAQ entry.

* Update FAQ.md as per comments by Oliver.
2018-08-20 06:42:45 -07:00
Abhishek Arya 05e6eee95c
Update build.sh 2018-08-19 15:00:43 -07:00
Abhishek Arya 63c7d817d8
Update Dockerfile 2018-08-19 14:58:18 -07:00
Abhishek Arya 5febfb84dc
Update reproducing.md 2018-08-19 14:34:19 -07:00
Abhishek Arya f34c86166a
Create empty file to avoid firefox build failure 2018-08-19 14:21:18 -07:00
pdknsk b4c15969db firefox: fix LD_LIBRARY_PATH (#1734)
* sync internal libFuzzer to HEAD

* fix LD_LIBRARY_PATH set by previous call in same run
2018-08-19 14:19:58 -07:00
pdknsk 08dc5a94d2 temporarily install cbindgen manually (#1730) 2018-08-18 21:23:51 -07:00
pdknsk ebbaf4c933 firefox: fixes and improvements (#1723)
* ignore libgcc

* dictionary/corpus for SdpParser and StunParser

* simpler ASAN_OPTIONS handling

* disable leak reports for now

* get execv error

* auto-sync libfuzzer

* disable coverage build

* add node.js repository for recent versions

* prepare profile

* remove unnecessary corpus size restriction
2018-08-18 16:32:16 -07:00
Max Moroz 80ea4a427a
[infra] Coverage: handle shared libraries via coverage_helper script. (#1727)
* [infra] Coverage: handle shared libraries and provide per directory view.

* Add coverage_helper script for detecting shared libraries.

* Address review feedback.
2018-08-17 15:15:08 -07:00
sebpop e21b573b63 [zlib-ng] add make check (#1729) 2018-08-17 13:09:26 -07:00
htuch 55cb636d13 [envoy] copy sources directly to $OUT. (#1724)
Turns out we need to be in out/proc/self/cwd, not out/src/proc/self/cwd.
In #1721, I was picking up stale artifacts from manual CLI rsync.

Signed-off-by: Harvey Tuch <htuch@google.com>
2018-08-17 06:50:01 -07:00
Max Moroz f021e50a21
[infra] Coverage: export stats for individual fuzzers (to be uploaded in #1547). (#1722) 2018-08-16 21:23:56 -07:00
htuch a0f3d62a94 [envoy] profile coverage support. (#1721)
Do the path mangling and symlink resolution needed to deal with Bazel.

Signed-off-by: Harvey Tuch <htuch@google.com>
2018-08-16 17:07:56 -07:00
Alessio Bazzica 0b01f10708 Adding PFFFT to oss-fuzz (#1718)
* first commit

* comments addressed
2018-08-16 16:40:02 -04:00
Max Moroz f1e7093d22
[infra] profile command: do not fail hard if some fuzz targets have no corpus. (#1719)
* [infra] profile command: do not fail hard if some fuzz targets have no corpus.

* Change listing to corpus_listing to be more explicit.

* Address review comment from Abhishek
2018-08-16 11:41:39 -07:00
Max Moroz 137bc2c9de
[infra] Add UBSAN_OPTIONS=\"silence_unsigned_overflow=1\" to base-builder image (#1715). (#1717) 2018-08-15 15:36:37 -07:00
htuch 870f29baf8 [envoy] exclude no_fuzz tagged targets. (#1712)
This will make it easier for us to control individual test targets and
exclude trivials/bad fuzzers from the Envoy GH repo.

Signed-off-by: Harvey Tuch <htuch@google.com>
2018-08-15 06:43:21 -07:00
Max Moroz e1aa07c491
[infra] Add script for downloading a batch of corpus backups (for #1547). (#1713)
* [infra] Add script for downloading a batch of corpus backups (for #1547).

* Add missing wget dependency and replace a tab with spaces.

* Convert more tabs to spaces.
2018-08-15 06:34:10 -07:00
Armin Hasitzka 79b521a629 Update the maintainer of FreeType's `Dockerfile` (#1711)
- Set myself as the maintainer since I will spend most time 
  with FreeType's fuzzers in near future.
2018-08-13 10:44:55 -07:00
Kevin Lubick 007606bc82 [skia] Fix build after picture_utils went away (#1709) 2018-08-13 08:41:15 -07:00
Max Moroz e6bf26c8dd
[infra] Bump LLVM revision to r338452. (#1708) 2018-08-13 07:44:21 -07:00
Max Moroz d747892866
[infra] Update coverage script to support sources white listing. (#1707) 2018-08-12 10:19:40 -07:00
sebpop 3e1d680a5c [zlib-ng] add zlib-ng project (#1694) 2018-08-10 15:22:43 -07:00
pdknsk 7bb6714073 [glib] GLib: remove names from dictionary (#1706)
* consistency

* remove names from dictionary
2018-08-10 15:14:12 -07:00
Catena cyber ce9a1e3a79 [ecc-diff-fuzzer] Adds cryptopp module to ecc-diff-fuzzer (#1703) 2018-08-10 07:53:09 -07:00
Mina Farid 29a92d7441 [firestore] fix building with ubsan flags (#1704) 2018-08-10 07:45:18 -07:00
Max Moroz dc8b440fe9
[infra] Follow-up for the incorrect extraction of WORKDIR from a Dockerfile (#1699). (#1702)
* [infra] Follow-up for the incorrect extraction of WORKDIR from a Dockerfile (#1699).

* Return an error if local checkout used with "WORKDIR /src".
2018-08-09 18:04:37 -07:00
Mina Farid b3f0fdd79d [firestore] move fuzz targets build location (#1701) 2018-08-09 12:36:07 -07:00
Max Moroz 8d3e462bd6
[infra] Prevent mounting local checkout to $SRC + clean up Dockerfiles (#1699). (#1700) 2018-08-09 12:29:31 -07:00
htuch a8521a41e9 [envoy] add -lc++fs linkopt to fix build failure (#1698)
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9700.

Signed-off-by: Harvey Tuch <htuch@google.com>
2018-08-09 11:25:15 -07:00
Max Moroz b8a87a862e
[infra] Coverage: always exclude libFuzzer source from the report. (#1697) 2018-08-09 10:45:05 -07:00
Catena cyber 48c648e060 [ecc-diff-fuzzer] Adds gcrypt to elliptic curve diff fuzzer (#1696)
* Adds gcrypt to elliptic curve diff fuzzer

And adds corpus to the project

* A way to solve conflict between openssl and gcrypt

* Code review : no longer use of curl nor sed
2018-08-09 09:26:47 -07:00
pdknsk c0e1e46bab [glib] GLib: more targets (#1695)
* better seed corpus for fuzz_key

* new target: fuzz_variant_text

* new target: fuzz_dbus_message

* get ninja from pip

* remove target: fuzz_markup

* new target: fuzz_variant_binary
2018-08-09 07:52:25 -07:00
Mina Farid 18234a5598 [firestore] Add Firestore sdk project (#1645)
* Add Firestore project

* Firestore project docker image and build script

* Firestore project docker image and build script

* Clone Firebase from Git and build with Fuzzing

* Add a collaborator and comments for cmake version

* Moving fuzzing target to test folder
2018-08-08 10:56:53 -07:00
Alex Gaynor 1db0aa1aa3 [spidermonkey] Another attempt to fix spidermonkey build (#1693) 2018-08-08 07:45:51 -07:00
Alex Gaynor c6d67eaa7b [spidermonkey] Fixed spidermonkey build -- it now requires rust (#1691) 2018-08-07 12:46:48 -07:00
Max Moroz 0fe45f59a7
[infra] Re-enable UIO for UBSan in a non-faulting mode (#910). (#1690) 2018-08-07 10:04:25 -07:00
Abhishek Arya 6be5fb8b4d
Fix for failing build due to bad build check (#1237) 2018-08-05 20:41:53 -07:00
zlowram 6fadb3b717 Integration for Radare2 (#1237)
* Integration for Radare2

* Remove rss_limit_mb since it does not work.
2018-08-05 10:04:23 -07:00
Evgeny Vereshchagin d2d9860ecd [infra] skip the rest of check_instrumentation if grep hasn't found anything (#1689)
When a fuzzer is seriously broken (which happens occasionally during debug),
it's unlikely to start properly let alone provide some meaningful
output. In this case, it seems reasonable to skip some checks and prevent bash
from encountering the following syntax error:
```
/usr/local/bin/bad_build_check: line 68: ((: < 100 : syntax error: operand expected (error token is "< 100 ")
```
2018-08-04 18:14:29 -07:00
YannisGuyon 9204671cc5 Pull corpus files from google cloud (#1688)
Add remote zip containing fuzzer-friendly files
which cover basically all features.
2018-08-03 14:11:19 -07:00
pdknsk ef88a53fb2 add more project members (#1687) 2018-08-03 13:23:32 -07:00
Catena cyber 6c0458a14c [gnupg] Generic listing of fuzz targets for project gnupg (#1686)
* Generic listing of fuzz targets for project gnupg

So that we will no longer need pull requests on oss-fuzz
when one new fuzz target is added in gnupg code

There is one new fuzz target : fuzz_list

* Updating libgpg-error to version 1.32
2018-08-03 09:18:48 -07:00
Patrick Steinhardt 90bdc6a32f [libgit2] Use upstreamed fuzzers (#1684)
To get the ball rolling more quickly, the download_refs fuzzer for
libgit2 was first implemented directly in oss-fuzz. But as we want to
ensure that we're not breaking fuzzers and thus at least build them as
part of our CI, the goal has been to upstream them into libgit2.

This commit removes the download_refs fuzzer and its corpus in favor of
using the upstreamed fuzzer. Furthermore, the build script is
generalized to automatically pick up new fuzzers named according to a
certain pattern, as we already added a second packfile fuzzer.
2018-08-03 07:20:21 -07:00