1. Add `centipede` to `DEFAULT_ENGINES`.
2. Remove the `fuzzing_engines` attribute from `project.yaml`s if
redundant (i.e., all default engines are included in that YAML file).
3. Temporarily disable `centipede` on `c`/`c++` projects that previously
use all `DEFAULT_ENGINES` (200 projects did not specify
`fuzzing_engines` in `project.yaml`) so that we can gradually enable
centipede later them later.
AddressSanitizer/LeakSanitizer has begun to report partial leaks
due to the library being initialized but never finalized. It's not
clear why only part of the memory is reported and why this hasn't
happened before now, but this is a somewhat legitimate report,
so add finalization calls to release all memory.
The libFuzzer API provides no shutdown cleanup hook,
so use a static variable with a C++ destructor.
Fixes https://github.com/google/oss-fuzz/issues/6440.
Add the required copyright header while we are at it.
This code appeared in https://github.com/google/oss-fuzz/pull/34
together with all the other files that do have the copyright header,
and this license seems to have been already required at the time,
so this should not constitute a licensing change.
* libass: update contact list
One contact is retired; another is currently inactive.
* libass: don't build HarfBuzz tests
They won't be used, so this just wastes resources.
* libass: upgrade to Ubuntu 20.04
The build failures on 20.04 were due to explicit listing
of static library dependencies, which have changed on 20.04:
png12 was replaced by png16, fontconfig was missing -luuid,
and png needed -lz to follow it, not precede.
Replace the explicit -l list by $(pkg-config --static --libs).
However, -lm must be filtered out as it causes linker errors:
> undefined reference to `_dl_x86_cpu_features'
While we are at it, Ubuntu 20.04 comes with new-enough FriBidi,
so we can stop building it.
It also has new-enough HarfBuzz, but it depends on libgraphite2,
which lacks a static library in the system package, and dynamically
linking against a system library does not work in OSS-Fuzz
as the shared object will not exist in the run-time environment.
Reorder the dependencies alphabetically for consistency.
* [presubmit] Enforce language attribute in projectt.yaml to be always set.
* Update documentation, better presubmit check, new project template.
* add docstring to templates.py
* Add example values in the project.yaml template and remove python value for now
* Add "project: c++" to 256 projects
* format
* Add labels and selective_unpack sections to the presubmit check
* fix incorrect auto_ccs format in three projects
* fix nss emails after rebase
https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/
I ran into this because I was getting errors locally, like:
E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/d/dpkg/libdpkg-perl_1.18.4ubuntu1.1_all.deb 404 Not Found [IP: 91.189.88.149 80]
It turns out you get these if you don't update, and the official best practices are to `run apt-get update && apt-get install`. In fact, running _any_ apt-get install command without the apt-get update && before it can result in unfortunate caching artifacts -- see "cache busting". (P.S. thanks to Peng on Freenode for helping me, I'm bad at Ubuntu.)
So:
sed -re \
's/RUN apt-get ((-y )?(install|build-dep))/RUN apt-get update \&\& apt-get \1/' -i \
projects/**/Dockerfile
I also manually fixed the cases that already ran apt-get update in their Dockerfile:
dlplibs/Dockerfile
grpc/Dockerfile
libreoffice/Dockerfile