diff --git a/src/base/SMPFunction.cpp b/src/base/SMPFunction.cpp index 53a8e59b892b10d29d689d801ab451bc389a3b47..5164428febfb4a2b62e20b098b45a025f9db9eda 100644 --- a/src/base/SMPFunction.cpp +++ b/src/base/SMPFunction.cpp @@ -397,6 +397,7 @@ SMPFunction::~SMPFunction() { delete this->ShadowCFGBlocks[i]; } +#if 0 // crashes in STARS/IRDB ??? for (size_t i = 0; i < this->LoopInductionVars.size(); ++i) { for (struct InductionVarFamily CurrFam : this->LoopInductionVars[i]) { if (nullptr != CurrFam.BIVInitExpr) @@ -405,6 +406,7 @@ SMPFunction::~SMPFunction() { delete CurrFam.BIVLimitExpr; } } +#endif for (size_t i = 0; i < this->LoopMemAddrExprsFromCalleeLoops.size(); ++i) { for (STARSExpression *CurrExpr : this->LoopMemAddrExprsFromCalleeLoops[i]) { diff --git a/src/base/SMPInstr.cpp b/src/base/SMPInstr.cpp index 61fb134a882f1604fc35d73ad2e768658680949b..ac33c3f8eec11d28bb4922079013a14125457f9a 100644 --- a/src/base/SMPInstr.cpp +++ b/src/base/SMPInstr.cpp @@ -4932,7 +4932,7 @@ SMPInstr::~SMPInstr() { this->Uses.clear(); } #if 1 // fix crashes before enabling this - if (nullptr != this->STARSInstPtr) { + if (global_STARS_program->IsIDAProDriverMode() && (nullptr != this->STARSInstPtr)) { delete this->STARSInstPtr; this->STARSInstPtr = nullptr; }