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.
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).
* [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
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.
* 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