mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-12-04 12:15:46 +00:00
[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
This commit is contained in:
parent
a01ed93e8c
commit
3f6c1627f7
8
llvm/tools/llvm-special-case-list-fuzzer/CMakeLists.txt
Normal file
8
llvm/tools/llvm-special-case-list-fuzzer/CMakeLists.txt
Normal file
@ -0,0 +1,8 @@
|
||||
set(LLVM_LINK_COMPONENTS
|
||||
Support
|
||||
FuzzMutate
|
||||
)
|
||||
|
||||
add_llvm_fuzzer(llvm-special-case-list-fuzzer
|
||||
special-case-list-fuzzer.cpp
|
||||
DUMMY_MAIN DummySpecialCaseListFuzzer.cpp)
|
@ -0,0 +1,19 @@
|
||||
//===--- DummySpecialCaseListFuzzer.cpp -----------------------------------===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is distributed under the University of Illinois Open Source
|
||||
// License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// Implementation of main so we can build and test without linking libFuzzer.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "llvm/FuzzMutate/FuzzerCLI.h"
|
||||
|
||||
extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size);
|
||||
int main(int argc, char *argv[]) {
|
||||
return llvm::runFuzzerOnInputs(argc, argv, LLVMFuzzerTestOneInput);
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
//===--- 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;
|
||||
}
|
Loading…
Reference in New Issue
Block a user