diff options
-rw-r--r-- | docs/Changelog.md | 3 | ||||
-rw-r--r-- | llvm_mode/cmplog-routines-pass.cc | 6 |
2 files changed, 6 insertions, 3 deletions
diff --git a/docs/Changelog.md b/docs/Changelog.md index 4b6e90e5..6115a0cc 100644 --- a/docs/Changelog.md +++ b/docs/Changelog.md @@ -28,7 +28,8 @@ sending a mail to <afl-users+subscribe@googlegroups.com>. - LTO whitelist functionality rewritten, now main, _init etc functions need not to be whitelisted anymore - fixed crash in compare-transform-pass when strcasemp/strncasecmp was - tried to be instrumented + tried to be instrumented with LTO + - fixed crash in cmplog with LTO - fixed afl-gcc/afl-as that could break on fast systems reusing pids in the same second - added lots of dictionaries from oss-fuzz, go-fuzz and Jakub Wilk diff --git a/llvm_mode/cmplog-routines-pass.cc b/llvm_mode/cmplog-routines-pass.cc index 623388ba..e05a1843 100644 --- a/llvm_mode/cmplog-routines-pass.cc +++ b/llvm_mode/cmplog-routines-pass.cc @@ -164,8 +164,10 @@ bool CmpLogRoutines::hookRtns(Module &M) { IRB.SetInsertPoint(callInst); std::vector<Value *> args; - args.push_back(v1P); - args.push_back(v2P); + Value * v1Pcasted = IRB.CreatePointerCast(v1P, i8PtrTy); + Value * v2Pcasted = IRB.CreatePointerCast(v2P, i8PtrTy); + args.push_back(v1Pcasted); + args.push_back(v2Pcasted); IRB.CreateCall(cmplogHookFn, args, "tmp"); |