llvm/tools/llvm-special-case-list-fuzzer/special-case-list-fuzzer.cpp
Matt Morehouse d0a82302e3 [llvm-special-case-list-fuzzer] Add fuzz target.
Summary: Create a fuzzer for sanitizer blacklists.

Patch by: hctim

Reviewers: morehouse

Reviewed By: morehouse

Subscribers: llvm-commits, mgorny, kcc

Differential Revision: https://review.llvm.org/D38981

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@316014 91177308-0d34-0410-b5e6-96231b3b80d8
2017-10-17 17:43:34 +00:00

27 lines
790 B
C++

//===--- special-case-list-fuzzer.cpp - Fuzzer for special case lists -----===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/SpecialCaseList.h"
#include <cstdlib>
extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
std::unique_ptr<llvm::MemoryBuffer> Buf = llvm::MemoryBuffer::getMemBuffer(
llvm::StringRef(reinterpret_cast<const char *>(Data), Size), "", false);
if (!Buf)
return 0;
std::string Error;
llvm::SpecialCaseList::create(Buf.get(), Error);
return 0;
}