diff --git a/afl_transforms/tools/zax/zax_base.cpp b/afl_transforms/tools/zax/zax_base.cpp index 13c1a31e6f88cb3356a362516b12ca16e3362801..80eb4f00cfee3d22cfb2ba6c8083339bfe1da44b 100644 --- a/afl_transforms/tools/zax/zax_base.cpp +++ b/afl_transforms/tools/zax/zax_base.cpp @@ -311,7 +311,7 @@ ZaflContextId_t ZaxBase_t::getContextId(const unsigned p_max) return contextid; } } - return contextid; + return contextid % p_max; } void ZaxBase_t::insertExitPoint(Instruction_t *p_inst) @@ -938,7 +938,6 @@ void ZaxBase_t::addContextSensitivity_Function(const ControlFlowGraph_t& cfg) } }; - auto compute_hash_chain = [&](ZaflContextId_t contextid, Instruction_t * instr, string reg_context, string reg_temp) -> Instruction_t* { auto labelid = getLabelId(); @@ -956,8 +955,6 @@ void ZaxBase_t::addContextSensitivity_Function(const ControlFlowGraph_t& cfg) const auto store_context = string("mov [") + reg_context + "]" + "," + reg_temp; tmp = do_insert(tmp, store_context); - // 5ae: 48 8b 05 23 0a 20 00 mov rax,QWORD PTR [rip+0x200a23] # 200fd8 <x> - // 5b5: c7 00 d2 04 00 00 mov DWORD PTR [rax],0x4d2 return tmp; }; diff --git a/afl_transforms/tools/zax/zax_base.hpp b/afl_transforms/tools/zax/zax_base.hpp index 8f2a66f15dbbcf794fbfd968a923724d52425cca..0083cef2e0f8dc69e3d8b60dbc2be8bacc365f62 100644 --- a/afl_transforms/tools/zax/zax_base.hpp +++ b/afl_transforms/tools/zax/zax_base.hpp @@ -56,8 +56,8 @@ namespace Zafl virtual void instrumentBasicBlock(BasicBlock_t *p_bb, const bool p_hasLeafAnnotation, const bool p_collafl_optimization=false) = 0; + virtual ZaflLabelId_t getLabelId(const unsigned p_maxid=0xFFFFFF); virtual ZaflBlockId_t getBlockId(const unsigned p_maxid=0xFFFF); - virtual ZaflLabelId_t getLabelId(const unsigned p_maxid=0xFFFF); virtual ZaflContextId_t getContextId(const unsigned p_maxid=0xFFFF); virtual BasicBlockSet_t getBlocksToInstrument (const ControlFlowGraph_t& cfg); virtual Instruction_t* getInstructionToInstrument(const BasicBlock_t *, const unsigned p_num_free_regs_desired = 0);