diff options
author | van Hauser <vh@thc.org> | 2020-08-07 10:42:33 +0200 |
---|---|---|
committer | van Hauser <vh@thc.org> | 2020-08-07 10:42:33 +0200 |
commit | a0fab35bbf8454c0421f7c5c5e6076f0e05b67a7 (patch) | |
tree | 466ac3be20d8970562dc9448c8476d7e7d7d33cb | |
parent | 420b202124c729dbbc777f21c56b1f05c21ee9fe (diff) | |
download | afl++-a0fab35bbf8454c0421f7c5c5e6076f0e05b67a7.tar.gz |
temporary fix for cmplog
-rw-r--r-- | llvm_mode/afl-llvm-rt.o.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/llvm_mode/afl-llvm-rt.o.c b/llvm_mode/afl-llvm-rt.o.c index 4cb99d0d..3e5db87d 100644 --- a/llvm_mode/afl-llvm-rt.o.c +++ b/llvm_mode/afl-llvm-rt.o.c @@ -905,7 +905,8 @@ void __sanitizer_cov_trace_pc_guard_init(uint32_t *start, uint32_t *stop) { u32 inst_ratio = 100; char *x; - fprintf(stderr, "Running __sanitizer_cov_trace_pc_guard_init: %p-%p\n", start, stop); + fprintf(stderr, "Running __sanitizer_cov_trace_pc_guard_init: %p-%p\n", start, + stop); if (start == stop || *start) return; @@ -942,7 +943,7 @@ void __sanitizer_cov_trace_pc_guard_init(uint32_t *start, uint32_t *stop) { void __cmplog_ins_hook1(uint8_t arg1, uint8_t arg2) { - if (!__afl_cmp_map || __afl_cmp_map == __afl_area_initial) return; + if (unlikely(!__afl_cmp_map || (u8 *)__afl_cmp_map == __afl_area_ptr)) return; uintptr_t k = (uintptr_t)__builtin_return_address(0); k = (k >> 4) ^ (k << 8); @@ -986,7 +987,7 @@ void __cmplog_ins_hook2(uint16_t arg1, uint16_t arg2) { void __cmplog_ins_hook4(uint32_t arg1, uint32_t arg2) { - if (!__afl_cmp_map || __afl_cmp_map == __afl_area_initial) return; + if (unlikely(!__afl_cmp_map || (u8 *)__afl_cmp_map == __afl_area_ptr)) return; uintptr_t k = (uintptr_t)__builtin_return_address(0); k = (k >> 4) ^ (k << 8); @@ -1007,7 +1008,7 @@ void __cmplog_ins_hook4(uint32_t arg1, uint32_t arg2) { void __cmplog_ins_hook8(uint64_t arg1, uint64_t arg2) { - if (!__afl_cmp_map || __afl_cmp_map == __afl_area_initial) return; + if (unlikely(!__afl_cmp_map || (u8 *)__afl_cmp_map == __afl_area_ptr)) return; uintptr_t k = (uintptr_t)__builtin_return_address(0); k = (k >> 4) ^ (k << 8); @@ -1058,7 +1059,7 @@ void __sanitizer_cov_trace_cmp8(uint64_t arg1, uint64_t arg2) void __sanitizer_cov_trace_switch(uint64_t val, uint64_t *cases) { - if (!__afl_cmp_map || __afl_cmp_map == __afl_area_initial) return; + if (unlikely(!__afl_cmp_map || (u8 *)__afl_cmp_map == __afl_area_ptr)) return; for (uint64_t i = 0; i < cases[0]; i++) { @@ -1097,7 +1098,7 @@ static int area_is_mapped(void *ptr, size_t len) { void __cmplog_rtn_hook(u8 *ptr1, u8 *ptr2) { - if (!__afl_cmp_map || __afl_cmp_map == __afl_area_initial) return; + if (unlikely(!__afl_cmp_map || (u8 *)__afl_cmp_map == __afl_area_ptr)) return; if (!area_is_mapped(ptr1, 32) || !area_is_mapped(ptr2, 32)) return; |