1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00
llvm-mirror/tools/llvm-special-case-list-fuzzer/special-case-list-fuzzer.cpp
Matt Morehouse 7bcc85d9c5 [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

llvm-svn: 316014
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;
}