使用'-sanitizer-coverage-prune-blocks = 0'运行honggfuzz错误

时间:2019-01-10 12:44:33

标签: linux security clang fuzzing

我正在使用google's honggfuzz

安装:

apt-get install binutils-dev libunwind-dev clang-4.0 -y
git clone https://github.com/google/honggfuzz
cd honggfuzz
make

我测试错误地编译examples/libxml2

# hfuzz-clang persistent-xml2.c -o fuzz_xml 
clang (LLVM option parsing): Unknown command line argument '-sanitizer-coverage-prune-blocks=0'.  Try: 'clang (LLVM option parsing) -help'
clang (LLVM option parsing): Did you mean '-sanitizer-coverage-level=0'?

我用Google搜索了此错误,但没有人遇到这个错误。我该如何解决?需要一项要求吗?

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。为了解决这一问题,我在honggfuzz/hfuzz_cc/hfuzz-cc.c中注释了以下几行:

// args[(*j)++] = "-mllvm"; // forward next arg to LLVM's option processing
// args[(*j)++] = "-sanitizer-coverage-prune-blocks=0";

this comment-sanitizer-coverage-prune-blocks=0选项关闭性能优化,但不影响honggfuzz使用的代码覆盖率统计信息:

  

我们实现了此选项,因为它不会改变覆盖范围的精度,但会减少多达1/3的检测量