Commit Graph

12 Commits

Author SHA1 Message Date
Dmitry Vyukov 9503ea34f5
lzo: fix crash on large inputs (#9839)
The target allocates 2*size buffers on the stack.
Stack is not always infinite. If we allocate on the stack,
we need to cap input size.
2023-03-01 10:32:40 -05:00
jonathanmetzman 439d0bc2c6
Enable centipede on a bunch of projects (#9643) 2023-02-13 14:24:42 -05:00
Sami Boukortt 7579d5d84f
lzo: unpoison the working buffer (#7941)
The compression function appears to account for the possibility that the
buffer contains random values, but msan does not realize that.

Initializing the buffer would be another option, but mere unpoisoning
maintains the ability to detect flaws in the way that the library
handles such uninitialized buffers. (Although, arguably, perhaps this
would be better served by separate fuzzing, which would also make such
findings more reproducible.)

This fixes b/154387018.
2022-07-05 15:07:32 +10:00
alexfh 1a513c7fc3
Ensure VLA of zero size is never created in LLVMFuzzerTestOneInput(). (#7173)
Some fuzzing drivers invoke this function with zero size, which causes creation of a zero-size VLA (variable-length array). In C99 VLA size must not be zero. Clang started enforcing this in b2715660ed (when compiled with -fsanitize=vla-bound).
2022-01-24 22:45:55 +00:00
devtty1er d561c49ae5
Update Dockerfiles (#4070)
* Use LABEL in place of MAINTAINER

* Remove LABEL maintainer from Dockerfiles
2020-07-06 13:18:23 -07:00
Max Moroz 71f4914c45
[presubmit] Enforce language attribute in project.yaml to be always set. (#3477)
* [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
2020-03-10 11:08:01 -07:00
Stefan Bucur 20360201ad Implement a fuzz target for all the compression algorithms in LZO. The fuzzer dynamically switches between algorithms using the FuzzedDataProvider adapter. (#2966) 2019-10-21 11:21:56 -07:00
jonathanmetzman ebd914fb80
Enable i386 fuzzing on 18 projects (#2748)
Maintainers who own these projects: If you don't want i386 fuzzing, feel free to disable.
I figured i386 fuzzing is generally desirable since it can find more bugs but most projects won't switch because of inertia.
2019-08-22 11:44:03 -04:00
jonathanmetzman 3049c50d48
Migrate projects using -lFuzzingEngine to $LIB_FUZZING_ENGINE (#2325)
Migrate from -lFuzzingEngine to $LIB_FUZZING_ENGINE where possible and not causing breakage
2019-05-01 11:09:55 -04:00
Bhargava Shastry 830189c3c7 lzo: Fixes problems with google/oss-fuzz#1900 (#1905) 2018-10-25 07:07:38 -07:00
Abhishek Arya cf78fed63d
Revert "[lzo] Add lzo (#1862)" (#1900)
This reverts commit 754db9eb6c.
2018-10-23 14:24:54 -07:00
Bhargava Shastry 754db9eb6c [lzo] Add lzo (#1862)
* lzo: Add lzo out-of-source

* lzo: Change maintainer of Docker image

* lzo: Add decompress target

* lzo: Update build script

* lzo: Fix build script

* lzo: Bail out if size==0 in decompress test

* Adding a seed file to lzo_decompress_target_seed

This commit adds a minimal lzo seed as a seed for the lzo_decompress_target. Still results in a heap-buffer-overflow at the moment.

* lzo: Switch to safer decompressor (HT @viniul) that does not crash and remove assertion

* lzo: Remove buggy addition (from OvS) to this PR

* Add more decompression targets to decompress_target

This commit adds more decompression targets to decompress_target.c. The target function is chosen based on the first byte of the data given by libfuzzer.

* Make decomp func ptr static, fix minor bug in func ptr init, and fix include paths in build script
2018-10-23 07:22:41 -07:00