[PATCH] D48800: libFuzzer: prevent irrelevant strings from leaking into auto-dictionary

pdknsk via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Jun 30 02:29:28 PDT 2018


pdknsk created this revision.
pdknsk added a reviewer: kcc.
Herald added subscribers: Sanitizers, llvm-commits.

This is a fix for bug 37047. (I don't know how to auto-link issues here.)

https://bugs.llvm.org/show_bug.cgi?id=37047

Please read the bug for details, including comparisons.

In short: better coverage in same time, because the fuzzer doesn't waste cycles trying to produce useful cases from unrelated strings (like options) or 40-byte SHA1 sums.

Implemented by basically reversing the logic. Previously all strings were considered, with some operations excluded. Now strings are excluded by default, and only strings during the CB considered.


Repository:
  rCRT Compiler Runtime

https://reviews.llvm.org/D48800

Files:
  lib/fuzzer/FuzzerDefs.h
  lib/fuzzer/FuzzerDictionary.h
  lib/fuzzer/FuzzerLoop.cpp
  lib/fuzzer/FuzzerMutate.cpp
  lib/fuzzer/FuzzerTracePC.cpp
  lib/fuzzer/FuzzerTracePC.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D48800.153618.patch
Type: text/x-patch
Size: 6337 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180630/0b3911d2/attachment.bin>


More information about the llvm-commits mailing list