diff --git a/include/Procedure.h b/include/Procedure.h index ebab264..dfaf0b3 100644 --- a/include/Procedure.h +++ b/include/Procedure.h @@ -148,6 +148,7 @@ enum DecompilationStep : uint32_t { eNotDecoded, // no processing done yet eDisassemblyInProgress, eDissassembled, // low level disassembly done + //eLocatedImpureRefs, //eStackTracing, // tracing stack depth across function calls }; diff --git a/src/AutomatedPlanner.cpp b/src/AutomatedPlanner.cpp index ea6fb60..7f1828b 100644 --- a/src/AutomatedPlanner.cpp +++ b/src/AutomatedPlanner.cpp @@ -37,6 +37,15 @@ void AutomatedPlanner::planFor(Function & func) { switch(func.nStep) { case eNotDecoded: addAction(func,new FollowControlFlow(func.state)); + break; + case eDisassemblyInProgress: + // The command queue is empty and function is in eDisassemblyInProgress state ? Switch to eDisassembled + assert(false and "Not implemented yet"); + break; + case eDissassembled: + // addAction(func,new LowLevelMarkImpure(func) + assert(false and "Not implemented yet"); + break; } } diff --git a/src/udm.cpp b/src/udm.cpp index c0e04a3..30ad6df 100644 --- a/src/udm.cpp +++ b/src/udm.cpp @@ -45,10 +45,9 @@ void Function::controlFlowAnalysis() { if (flg & PROC_ISLIB) return; /* Ignore library functions */ - derSeq *derivedG=nullptr; /* Make cfg reducible and build derived sequences */ - derivedG=checkReducibility(); + derSeq *derivedG = checkReducibility(); if (option.VeryVerbose) derivedG->display();