diff --git a/irdb-libs/ir_builders/fix_calls.cpp b/irdb-libs/ir_builders/fix_calls.cpp index 551ee9f43418750f71a53182f47ea44c27c83599..22f253045323f293e591114c1803164a2a590ae4 100644 --- a/irdb-libs/ir_builders/fix_calls.cpp +++ b/irdb-libs/ir_builders/fix_calls.cpp @@ -962,7 +962,7 @@ class FixCalls_t : public TransformStep_t public: FixCalls_t() { - const auto exe_reader = new EXEIO::exeio; + const auto exe_reader = make_unique<EXEIO::exeio>(); assert(exe_reader); exe_reader->load((char*)"a.ncexe"); const auto has_pclntab = exe_reader->sections[".gopclntab"] != NULL; @@ -1068,13 +1068,13 @@ class FixCalls_t : public TransformStep_t int elfoid=firp->getFile()->getELFOID(); pqxx::largeobject lo(elfoid); lo.to_file(pqxx_interface->getTransaction(),"readeh_tmp_file.exe"); - EXEIO::exeio* elfiop=new EXEIO::exeio; + const auto elfiop=make_unique<EXEIO::exeio>(); elfiop->load(string("readeh_tmp_file.exe")); EXEIO::dump::header(cout,*elfiop); EXEIO::dump::section_headers(cout,*elfiop); // do eh_frame reading as required. if(do_eh_frame) - read_ehframe(firp, elfiop); + read_ehframe(firp, elfiop.get()); setFrameSizes(firp); fix_all_calls(firp,fix_all); @@ -1191,7 +1191,7 @@ void range(VirtualOffset_t start, VirtualOffset_t end) extern "C" shared_ptr<TransformStep_t> getTransformStep(void) { - curInvocation.reset(new FixCalls_t()); + curInvocation = make_shared<FixCalls_t>(); return curInvocation; }