aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvanhauser-thc <vh@thc.org>2023-09-04 09:11:47 +0200
committervanhauser-thc <vh@thc.org>2023-09-04 09:11:47 +0200
commit9307ef4b7caa96754d0449361d48b5a98ef73d8f (patch)
tree06303ce010b671cd7d0d5055643b0360c1b7cf60
parent3bae404733e27b3ec7769ad6d5d997dcd9ec6fa3 (diff)
downloadafl++-9307ef4b7caa96754d0449361d48b5a98ef73d8f.tar.gz
fix string transform laf
-rw-r--r--docs/Changelog.md2
-rw-r--r--instrumentation/compare-transform-pass.so.cc4
2 files changed, 2 insertions, 4 deletions
diff --git a/docs/Changelog.md b/docs/Changelog.md
index 8d9a0aa8..bccc6748 100644
--- a/docs/Changelog.md
+++ b/docs/Changelog.md
@@ -14,6 +14,8 @@
- now also shows coverage reached
- option -m shows only very relevant stats
- option -n will not use color in the output
+ - instrumentation:
+ - fix for a few string compare transform functions for LAF
- frida_mode:
- fixes support for large map offsets
- added benchmark/benchmark.sh if you want to see how good your fuzzing
diff --git a/instrumentation/compare-transform-pass.so.cc b/instrumentation/compare-transform-pass.so.cc
index b0bbd39a..5a5415d7 100644
--- a/instrumentation/compare-transform-pass.so.cc
+++ b/instrumentation/compare-transform-pass.so.cc
@@ -228,7 +228,6 @@ bool CompareTransform::transformCmps(Module &M, const bool processStrcmp,
isStrcmp &=
(!FuncName.compare("strcmp") || !FuncName.compare("xmlStrcmp") ||
!FuncName.compare("xmlStrEqual") ||
- !FuncName.compare("g_strcmp0") ||
!FuncName.compare("curl_strequal") ||
!FuncName.compare("strcsequal") ||
!FuncName.compare("g_strcmp0"));
@@ -239,7 +238,6 @@ bool CompareTransform::transformCmps(Module &M, const bool processStrcmp,
!FuncName.compare("memcmp_const_time") ||
!FuncName.compare("memcmpct"));
isStrncmp &= (!FuncName.compare("strncmp") ||
- !FuncName.compare("xmlStrncmp") ||
!FuncName.compare("curl_strnequal") ||
!FuncName.compare("xmlStrncmp"));
isStrcasecmp &= (!FuncName.compare("strcasecmp") ||
@@ -508,10 +506,8 @@ bool CompareTransform::transformCmps(Module &M, const bool processStrcmp,
isCaseInsensitive = true;
if (!Callee->getName().compare("xmlStrEqual") ||
- !Callee->getName().compare("g_strcmp0") ||
!Callee->getName().compare("curl_strequal") ||
!Callee->getName().compare("strcsequal") ||
- !Callee->getName().compare("xmlStrncmp") ||
!Callee->getName().compare("curl_strnequal"))
success_is_one = true;