mirror of
https://github.com/AFLplusplus/AFLplusplus.git
synced 2025-06-11 09:41:35 +00:00
blacklist -> ignore renaming
This commit is contained in:
parent
4b99ebbf22
commit
878b27af76
@ -44,13 +44,13 @@ char *getBBName(const llvm::BasicBlock *BB) {
|
||||
}
|
||||
|
||||
/* Function that we never instrument or analyze */
|
||||
/* Note: this blacklist check is also called in isInWhitelist() */
|
||||
bool isBlacklisted(const llvm::Function *F) {
|
||||
/* Note: this ignore check is also called in isInWhitelist() */
|
||||
bool isIgnoreFunction(const llvm::Function *F) {
|
||||
|
||||
// Starting from "LLVMFuzzer" these are functions used in libfuzzer based
|
||||
// fuzzing campaign installations, e.g. oss-fuzz
|
||||
|
||||
static const char *Blacklist[] = {
|
||||
static const char *ignoreList[] = {
|
||||
|
||||
"asan.",
|
||||
"llvm.",
|
||||
@ -73,9 +73,9 @@ bool isBlacklisted(const llvm::Function *F) {
|
||||
|
||||
};
|
||||
|
||||
for (auto const &BlacklistFunc : Blacklist) {
|
||||
for (auto const &ignoreListFunc : ignoreList) {
|
||||
|
||||
if (F->getName().startswith(BlacklistFunc)) { return true; }
|
||||
if (F->getName().startswith(ignoreListFunc)) { return true; }
|
||||
|
||||
}
|
||||
|
||||
@ -107,8 +107,8 @@ void initWhitelist() {
|
||||
bool isInWhitelist(llvm::Function *F) {
|
||||
|
||||
// is this a function with code? If it is external we dont instrument it
|
||||
// anyway and cant be in the whitelist. Or if it is blacklisted.
|
||||
if (!F->size() || isBlacklisted(F)) return false;
|
||||
// anyway and cant be in the whitelist. Or if it is ignored.
|
||||
if (!F->size() || isIgnoreFunction(F)) return false;
|
||||
|
||||
// if we do not have a whitelist return true
|
||||
if (myWhitelist.empty()) return true;
|
||||
|
@ -33,7 +33,7 @@ typedef long double max_align_t;
|
||||
#endif
|
||||
|
||||
char * getBBName(const llvm::BasicBlock *BB);
|
||||
bool isBlacklisted(const llvm::Function *F);
|
||||
bool isIgnoreFunction(const llvm::Function *F);
|
||||
void initWhitelist();
|
||||
bool isInWhitelist(llvm::Function *F);
|
||||
unsigned long long int calculateCollisions(uint32_t edges);
|
||||
|
@ -562,7 +562,7 @@ struct InsTrimLTO : public ModulePass {
|
||||
|
||||
// if the function below our minimum size skip it (1 or 2)
|
||||
if (F.size() < function_minimum_size) continue;
|
||||
if (isBlacklisted(&F)) continue;
|
||||
if (isIgnoreFunction(&F)) continue;
|
||||
|
||||
functions++;
|
||||
|
||||
|
@ -196,7 +196,7 @@ bool AFLLTOPass::runOnModule(Module &M) {
|
||||
// fprintf(stderr, "DEBUG: Function %s\n", F.getName().str().c_str());
|
||||
|
||||
if (F.size() < function_minimum_size) continue;
|
||||
if (isBlacklisted(&F)) continue;
|
||||
if (isIgnoreFunction(&F)) continue;
|
||||
|
||||
// whitelist check
|
||||
AttributeList Attrs = F.getAttributes();
|
||||
|
@ -126,7 +126,7 @@ bool AFLwhitelist::runOnModule(Module &M) {
|
||||
|
||||
if (F.size() < 1) continue;
|
||||
// fprintf(stderr, "F:%s\n", F.getName().str().c_str());
|
||||
if (isBlacklisted(&F)) continue;
|
||||
if (isIgnoreFunction(&F)) continue;
|
||||
|
||||
BasicBlock::iterator IP = F.getEntryBlock().getFirstInsertionPt();
|
||||
IRBuilder<> IRB(&(*IP));
|
||||
|
@ -435,7 +435,7 @@ static u8 cmp_fuzz(afl_state_t *afl, u32 key, u8 *orig_buf, u8 *buf, u32 len) {
|
||||
u32 fails;
|
||||
u8 found_one = 0;
|
||||
|
||||
/* loop cmps are useless, detect and blacklist them */
|
||||
/* loop cmps are useless, detect and ignores them */
|
||||
u64 s_v0, s_v1;
|
||||
u8 s_v0_fixed = 1, s_v1_fixed = 1;
|
||||
u8 s_v0_inc = 1, s_v1_inc = 1;
|
||||
@ -743,7 +743,7 @@ u8 input_to_state_stage(afl_state_t *afl, u8 *orig_buf, u8 *buf, u32 len,
|
||||
afl->pass_stats[k].faileds ||
|
||||
afl->pass_stats[k].total == 0xff)) {
|
||||
|
||||
afl->shm.cmp_map->headers[k].hits = 0; // blacklist this cmp
|
||||
afl->shm.cmp_map->headers[k].hits = 0; // ignores this cmp
|
||||
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user