diff options
author | van Hauser <vh@thc.org> | 2021-02-26 09:45:43 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-26 09:45:43 +0100 |
commit | 78d96c4dc86ac20e2a6e244017407ccc037ff13b (patch) | |
tree | e277f092c27714f75e0c19f9ac8ab18dbfd1745a /instrumentation/afl-compiler-rt.o.c | |
parent | 7ae7b0f3732cfd9d82cf9403818012d00faa07c3 (diff) | |
parent | ee0ca07f3c9f7c5971440f5dca70a2ee6f37584d (diff) | |
download | afl++-78d96c4dc86ac20e2a6e244017407ccc037ff13b.tar.gz |
Merge pull request #759 from AFLplusplus/dev
push to stable
Diffstat (limited to 'instrumentation/afl-compiler-rt.o.c')
-rw-r--r-- | instrumentation/afl-compiler-rt.o.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/instrumentation/afl-compiler-rt.o.c b/instrumentation/afl-compiler-rt.o.c index dba4dc65..e4aeadfa 100644 --- a/instrumentation/afl-compiler-rt.o.c +++ b/instrumentation/afl-compiler-rt.o.c @@ -1653,12 +1653,19 @@ static u8 *get_llvm_stdstring(u8 *string) { void __cmplog_rtn_gcc_stdstring_cstring(u8 *stdstring, u8 *cstring) { + if (unlikely(!__afl_cmp_map)) return; + if (!area_is_mapped(stdstring, 32) || !area_is_mapped(cstring, 32)) return; + __cmplog_rtn_hook(get_gcc_stdstring(stdstring), cstring); } void __cmplog_rtn_gcc_stdstring_stdstring(u8 *stdstring1, u8 *stdstring2) { + if (unlikely(!__afl_cmp_map)) return; + if (!area_is_mapped(stdstring1, 32) || !area_is_mapped(stdstring2, 32)) + return; + __cmplog_rtn_hook(get_gcc_stdstring(stdstring1), get_gcc_stdstring(stdstring2)); @@ -1666,12 +1673,19 @@ void __cmplog_rtn_gcc_stdstring_stdstring(u8 *stdstring1, u8 *stdstring2) { void __cmplog_rtn_llvm_stdstring_cstring(u8 *stdstring, u8 *cstring) { + if (unlikely(!__afl_cmp_map)) return; + if (!area_is_mapped(stdstring, 32) || !area_is_mapped(cstring, 32)) return; + __cmplog_rtn_hook(get_llvm_stdstring(stdstring), cstring); } void __cmplog_rtn_llvm_stdstring_stdstring(u8 *stdstring1, u8 *stdstring2) { + if (unlikely(!__afl_cmp_map)) return; + if (!area_is_mapped(stdstring1, 32) || !area_is_mapped(stdstring2, 32)) + return; + __cmplog_rtn_hook(get_llvm_stdstring(stdstring1), get_llvm_stdstring(stdstring2)); |