From a2dced79b4a7d0d964d0aff00731204aa2d58606 Mon Sep 17 00:00:00 2001 From: Wolfgang Thaller Date: Sun, 23 Apr 2017 02:13:46 +0200 Subject: [PATCH] MakeImport: don't crash on non-library files --- PEFTools/MakeImport.cc | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/PEFTools/MakeImport.cc b/PEFTools/MakeImport.cc index a5218ea51b..45b6011830 100755 --- a/PEFTools/MakeImport.cc +++ b/PEFTools/MakeImport.cc @@ -201,6 +201,20 @@ void MakeImportLibraryMulti(fs::path path, fs::path libname) std::vector data(resFile.data.begin(), resFile.data.end()); char *dataPtr = data.data(); + + if(resFile.resources.resources.find(ResRef("cfrg",0)) == resFile.resources.resources.end()) + { + if(data.size() > 8 && std::string(data.begin(), data.begin()+8) == "Joy!peff") + { + std::cerr << "No cfrg resource found.\n"; + exit(1); + } + else + { + std::cerr << "Not a PEF shared library. Ignoring.\n"; + exit(0); + } + } Resource& cfrgRes = resFile.resources.resources[ResRef("cfrg",0)]; fs::path tmpdir = libname.parent_path() / fs::unique_path("makeimport-tmp-%%%%-%%%%-%%%%-%%%%");