|
LLVM
3.7.0
|
An abstract class that allows to use user-supplied mutators with libFuzzer. More...
#include <FuzzerInterface.h>
Public Member Functions | |
| virtual void | TargetFunction (const uint8_t *Data, size_t Size)=0 |
| Executes the target function on 'Size' bytes of 'Data'. More... | |
| virtual size_t | Mutate (uint8_t *Data, size_t Size, size_t MaxSize) |
| Mutates 'Size' bytes of data in 'Data' inplace into up to 'MaxSize' bytes, returns the new size of the data, which should be positive. More... | |
| virtual size_t | CrossOver (const uint8_t *Data1, size_t Size1, const uint8_t *Data2, size_t Size2, uint8_t *Out, size_t MaxOutSize) |
| Crosses 'Data1' and 'Data2', writes up to 'MaxOutSize' bytes into Out, returns the number of bytes written, which should be positive. More... | |
| virtual | ~UserSuppliedFuzzer () |
Protected Member Functions | |
| size_t | BasicMutate (uint8_t *Data, size_t Size, size_t MaxSize) |
| These can be called internally by Mutate and CrossOver. More... | |
| size_t | BasicCrossOver (const uint8_t *Data1, size_t Size1, const uint8_t *Data2, size_t Size2, uint8_t *Out, size_t MaxOutSize) |
An abstract class that allows to use user-supplied mutators with libFuzzer.
Usage:
#
Definition at line 67 of file FuzzerInterface.h.
|
inlinevirtual |
Definition at line 83 of file FuzzerInterface.h.
|
protected |
Definition at line 21 of file FuzzerInterface.cpp.
References fuzzer::CrossOver().
Referenced by CrossOver().
|
protected |
These can be called internally by Mutate and CrossOver.
Definition at line 17 of file FuzzerInterface.cpp.
References fuzzer::Mutate().
Referenced by MyFuzzer::Mutate(), and Mutate().
|
inlinevirtual |
Crosses 'Data1' and 'Data2', writes up to 'MaxOutSize' bytes into Out, returns the number of bytes written, which should be positive.
Definition at line 78 of file FuzzerInterface.h.
References BasicCrossOver().
Referenced by fuzzer::Fuzzer::Loop().
|
inlinevirtual |
Mutates 'Size' bytes of data in 'Data' inplace into up to 'MaxSize' bytes, returns the new size of the data, which should be positive.
Reimplemented in MyFuzzer.
Definition at line 73 of file FuzzerInterface.h.
References BasicMutate().
|
pure virtual |
Executes the target function on 'Size' bytes of 'Data'.
Implemented in fuzzer::SimpleUserSuppliedFuzzer, and MyFuzzer.
1.8.6