LLVM  4.0.0
Public Member Functions | Static Public Attributes | List of all members
fuzzer::InputCorpus Class Reference

#include <FuzzerCorpus.h>

Collaboration diagram for fuzzer::InputCorpus:
[legend]

Public Member Functions

 InputCorpus (const std::string &OutputCorpus)
 
 ~InputCorpus ()
 
size_t size () const
 
size_t SizeInBytes () const
 
size_t NumActiveUnits () const
 
size_t MaxInputSize () const
 
bool empty () const
 
const Unitoperator[] (size_t Idx) const
 
void AddToCorpus (const Unit &U, size_t NumFeatures, bool MayDeleteFile=false)
 
bool HasUnit (const Unit &U)
 
bool HasUnit (const std::string &H)
 
InputInfoChooseUnitToMutate (Random &Rand)
 
size_t ChooseUnitIdxToMutate (Random &Rand)
 
void PrintStats ()
 
void PrintFeatureSet ()
 
void DeleteInput (size_t Idx)
 
bool AddFeature (size_t Idx, uint32_t NewSize, bool Shrink)
 
size_t NumFeatures () const
 
void ResetFeatureSet ()
 

Static Public Attributes

static const size_t kFeatureSetSize = 1 << 16
 

Detailed Description

Definition at line 39 of file FuzzerCorpus.h.

Constructor & Destructor Documentation

fuzzer::InputCorpus::InputCorpus ( const std::string &  OutputCorpus)
inline

Definition at line 42 of file FuzzerCorpus.h.

fuzzer::InputCorpus::~InputCorpus ( )
inline

Definition at line 46 of file FuzzerCorpus.h.

Member Function Documentation

bool fuzzer::InputCorpus::AddFeature ( size_t  Idx,
uint32_t  NewSize,
bool  Shrink 
)
inline
void fuzzer::InputCorpus::AddToCorpus ( const Unit U,
size_t  NumFeatures,
bool  MayDeleteFile = false 
)
inline
size_t fuzzer::InputCorpus::ChooseUnitIdxToMutate ( Random Rand)
inline

Definition at line 99 of file FuzzerCorpus.h.

References assert(), and fuzzer::Random::Get_mt19937().

Referenced by ChooseUnitToMutate().

InputInfo& fuzzer::InputCorpus::ChooseUnitToMutate ( Random Rand)
inline

Definition at line 90 of file FuzzerCorpus.h.

References assert(), ChooseUnitIdxToMutate(), and fuzzer::InputInfo::U.

void fuzzer::InputCorpus::DeleteInput ( size_t  Idx)
inline
bool fuzzer::InputCorpus::empty ( ) const
inline

Definition at line 69 of file FuzzerCorpus.h.

Referenced by fuzzer::Fuzzer::ShuffleAndMinimize().

bool fuzzer::InputCorpus::HasUnit ( const Unit U)
inline

Definition at line 88 of file FuzzerCorpus.h.

References fuzzer::Hash().

Referenced by fuzzer::Fuzzer::RereadOutputCorpus().

bool fuzzer::InputCorpus::HasUnit ( const std::string &  H)
inline

Definition at line 89 of file FuzzerCorpus.h.

size_t fuzzer::InputCorpus::MaxInputSize ( ) const
inline

Definition at line 63 of file FuzzerCorpus.h.

size_t fuzzer::InputCorpus::NumActiveUnits ( ) const
inline

Definition at line 57 of file FuzzerCorpus.h.

size_t fuzzer::InputCorpus::NumFeatures ( ) const
inline

Definition at line 158 of file FuzzerCorpus.h.

References i, and kFeatureSetSize.

Referenced by AddToCorpus(), and PrintFeatureSet().

const Unit& fuzzer::InputCorpus::operator[] ( size_t  Idx) const
inline

Definition at line 70 of file FuzzerCorpus.h.

void fuzzer::InputCorpus::PrintFeatureSet ( )
inline

Definition at line 114 of file FuzzerCorpus.h.

References i, kFeatureSetSize, N, NumFeatures(), and fuzzer::Printf().

void fuzzer::InputCorpus::PrintStats ( )
inline

Definition at line 105 of file FuzzerCorpus.h.

References i, fuzzer::Printf(), and fuzzer::Sha1ToString().

Referenced by fuzzer::Fuzzer::PrintFinalStats().

void fuzzer::InputCorpus::ResetFeatureSet ( )
inline

Definition at line 165 of file FuzzerCorpus.h.

References assert().

size_t fuzzer::InputCorpus::size ( ) const
inline
size_t fuzzer::InputCorpus::SizeInBytes ( ) const
inline

Definition at line 51 of file FuzzerCorpus.h.

Member Data Documentation

const size_t fuzzer::InputCorpus::kFeatureSetSize = 1 << 16
static

Definition at line 41 of file FuzzerCorpus.h.

Referenced by AddFeature(), NumFeatures(), and PrintFeatureSet().


The documentation for this class was generated from the following file: