diff --git a/zipr/include/ehwrite.h b/zipr/include/ehwrite.h index 30a28ebcaed893ec977a175d34f46eebc1d00d47..57a84a774d6717f43ddf686b00b2c69f680489ea 100644 --- a/zipr/include/ehwrite.h +++ b/zipr/include/ehwrite.h @@ -143,7 +143,7 @@ namespace EhWriter class PEEhWriter_t : public EhWriter_t { private: - using SehVector_t = vector<unique_ptr<PE_unwind_info_t> > ; + using SehVector_t = vector<shared_ptr<PE_unwind_info_t> > ; SehVector_t BuildSehVector(); void LayoutSehVector (const SehVector_t& seh_vector); diff --git a/zipr/src/ehwrite.cpp b/zipr/src/ehwrite.cpp index 8600c78b3ec58cb320b21027420466a1247d26ee..4ab686bb83a4472f1879d8e7f95d95df0b0595ed 100644 --- a/zipr/src/ehwrite.cpp +++ b/zipr/src/ehwrite.cpp @@ -82,7 +82,7 @@ typename PEEhWriter_t<ptrsize>::SehVector_t PEEhWriter_t<ptrsize>::BuildSehVect // build the unwind directory and unwind info auto insns_with_frame = 0u; auto current_unwind_info = unique_ptr<PE_unwind_info_t>(); - auto all_unwind_infos = vector<unique_ptr<PE_unwind_info_t> >(); + auto all_unwind_infos = PEEhWriter_t<ptrsize>::SehVector_t(); // generate an unwind info struct for each chunk of code in the output program.