mirror of
https://github.com/AFLplusplus/AFLplusplus.git
synced 2025-06-13 02:28:09 +00:00
temporary fix for cmplog
This commit is contained in:
@ -905,6 +905,8 @@ void __sanitizer_cov_trace_pc_guard_init(uint32_t *start, uint32_t *stop) {
|
|||||||
u32 inst_ratio = 100;
|
u32 inst_ratio = 100;
|
||||||
char *x;
|
char *x;
|
||||||
|
|
||||||
|
fprintf(stderr, "Running __sanitizer_cov_trace_pc_guard_init: %p-%p\n", start, stop);
|
||||||
|
|
||||||
if (start == stop || *start) return;
|
if (start == stop || *start) return;
|
||||||
|
|
||||||
x = getenv("AFL_INST_RATIO");
|
x = getenv("AFL_INST_RATIO");
|
||||||
@ -940,7 +942,7 @@ void __sanitizer_cov_trace_pc_guard_init(uint32_t *start, uint32_t *stop) {
|
|||||||
|
|
||||||
void __cmplog_ins_hook1(uint8_t arg1, uint8_t arg2) {
|
void __cmplog_ins_hook1(uint8_t arg1, uint8_t arg2) {
|
||||||
|
|
||||||
if (!__afl_cmp_map) return;
|
if (!__afl_cmp_map || __afl_cmp_map == __afl_area_initial) return;
|
||||||
|
|
||||||
uintptr_t k = (uintptr_t)__builtin_return_address(0);
|
uintptr_t k = (uintptr_t)__builtin_return_address(0);
|
||||||
k = (k >> 4) ^ (k << 8);
|
k = (k >> 4) ^ (k << 8);
|
||||||
@ -984,7 +986,7 @@ void __cmplog_ins_hook2(uint16_t arg1, uint16_t arg2) {
|
|||||||
|
|
||||||
void __cmplog_ins_hook4(uint32_t arg1, uint32_t arg2) {
|
void __cmplog_ins_hook4(uint32_t arg1, uint32_t arg2) {
|
||||||
|
|
||||||
if (!__afl_cmp_map) return;
|
if (!__afl_cmp_map || __afl_cmp_map == __afl_area_initial) return;
|
||||||
|
|
||||||
uintptr_t k = (uintptr_t)__builtin_return_address(0);
|
uintptr_t k = (uintptr_t)__builtin_return_address(0);
|
||||||
k = (k >> 4) ^ (k << 8);
|
k = (k >> 4) ^ (k << 8);
|
||||||
@ -1005,7 +1007,7 @@ void __cmplog_ins_hook4(uint32_t arg1, uint32_t arg2) {
|
|||||||
|
|
||||||
void __cmplog_ins_hook8(uint64_t arg1, uint64_t arg2) {
|
void __cmplog_ins_hook8(uint64_t arg1, uint64_t arg2) {
|
||||||
|
|
||||||
if (!__afl_cmp_map) return;
|
if (!__afl_cmp_map || __afl_cmp_map == __afl_area_initial) return;
|
||||||
|
|
||||||
uintptr_t k = (uintptr_t)__builtin_return_address(0);
|
uintptr_t k = (uintptr_t)__builtin_return_address(0);
|
||||||
k = (k >> 4) ^ (k << 8);
|
k = (k >> 4) ^ (k << 8);
|
||||||
@ -1056,7 +1058,7 @@ void __sanitizer_cov_trace_cmp8(uint64_t arg1, uint64_t arg2)
|
|||||||
|
|
||||||
void __sanitizer_cov_trace_switch(uint64_t val, uint64_t *cases) {
|
void __sanitizer_cov_trace_switch(uint64_t val, uint64_t *cases) {
|
||||||
|
|
||||||
if (!__afl_cmp_map) return;
|
if (!__afl_cmp_map || __afl_cmp_map == __afl_area_initial) return;
|
||||||
|
|
||||||
for (uint64_t i = 0; i < cases[0]; i++) {
|
for (uint64_t i = 0; i < cases[0]; i++) {
|
||||||
|
|
||||||
@ -1095,7 +1097,7 @@ static int area_is_mapped(void *ptr, size_t len) {
|
|||||||
|
|
||||||
void __cmplog_rtn_hook(u8 *ptr1, u8 *ptr2) {
|
void __cmplog_rtn_hook(u8 *ptr1, u8 *ptr2) {
|
||||||
|
|
||||||
if (!__afl_cmp_map) return;
|
if (!__afl_cmp_map || __afl_cmp_map == __afl_area_initial) return;
|
||||||
|
|
||||||
if (!area_is_mapped(ptr1, 32) || !area_is_mapped(ptr2, 32)) return;
|
if (!area_is_mapped(ptr1, 32) || !area_is_mapped(ptr2, 32)) return;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user