Automatic conversion of the NetBSD src CVS module, use with care
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 63617 commits ahead, 67908 commits behind NetBSD:trunk.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
common
compat
crypto
dist/pf
distrib
doc
etc
external
extsrc
games
include
lib
libexec
regress
rescue
sbin
share
sys
tests
tools
usr.bin
usr.sbin
BUILDING
Makefile
Makefile.inc
README.md
UPDATING
build.sh

README.md

This is the repository for the GSoC 2018 project of "Integrate libFuzzer With the Basesystem".

For more details about what I have done during GSoC 2018, you can refer to these articles:

There are also other repositories/branches which are used during this project and below is a brief introduction for all of them.

src

This repository is forked from the NetBSD/src. The links for the "Bug(s)" in the following lines are the potential bugs we have found during this project with the help of libFuzzer.

Branch gsoc2018

This branch is used for the LLVM porting and the fuzzing of basic libraries in the NetBSD source.

It contains the changes of:

Branch fuzzer-expr

This branch is used for the aggressive implementation of fuzzing userland applications. Here, the word "aggressive" means that these changes may either use tricky mechanisms or need bulk modifications to the original implementations.

It contains the changes of:

Branch afl-hongg-expr

This branch provides the source for fuzzing applications with AFL and honggfuzz to make a comparison with the libFuzzer in the evaluation.

It only contains a part of the fuzzed programs, this is because other programs we have evaluated need no modification to work them. Here is what this branch includes:

Branch LD_PRELOAD

This branch includes the source of fuzzing ping(8) with honggfuzz without any modification to original implementation. It is implemented with the help of HF_ITER interface provided by the honggfuzz and LD_PRELOAD environment. Here are the commits: I, II, III, IV, V, VI, VII.

LLVM

Forked from llvm-mirror/llvm. This repository mainly contains the changes to adapt current LLVM source to be statically linkable on NetBSD. There are two main commits: I, II.

compiler-rt

Forked from llvm-mirror/compiler-rt. This repository mainly contributes to the porting of sanitizers to the NetBSD by adding interceptors for some interfaces. It includes interceptors for:

pkgsrc-wip

This repository is forked from NetBSD/pkgsrc-wip. The main changes are two:

Other Contributions

  • Fixed two non-standard usages of sem_open in the libFuzzer library and one NetBSD-related modification with test script. This has been merged by the LLVM community: D46622.
  • Added "only-printable" mode for the honggfuzz. #215.