From bb0e25a41af88c9bf76e5cda02a6fd45f9d09778 Mon Sep 17 00:00:00 2001 From: Rainer Schuetze Date: Tue, 22 Aug 2017 08:56:59 +0200 Subject: fix "try DWARF after unsupport CodeView signature" --- src/PEImage.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/PEImage.cpp b/src/PEImage.cpp index c3eee6c..2416ce4 100644 --- a/src/PEImage.cpp +++ b/src/PEImage.cpp @@ -279,6 +279,12 @@ bool PEImage::initCVPtr(bool initDbgDir) if(IMGHDR(OptionalHeader.NumberOfRvaAndSizes) <= IMAGE_DIRECTORY_ENTRY_DEBUG) return setError("too few entries in data directory"); + dbgDir = 0; + dirHeader = 0; + dirEntry = 0; + if (!initDbgDir) + return true; + unsigned int i; int found = false; for(i = 0; i < IMGHDR(OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_DEBUG].Size)/sizeof(IMAGE_DEBUG_DIRECTORY); i++) @@ -297,8 +303,6 @@ bool PEImage::initCVPtr(bool initDbgDir) if (memcmp(sig->Signature, "NB09", 4) != 0 && memcmp(sig->Signature, "NB11", 4) != 0) { // return setError("can only handle debug info of type NB09 and NB11"); - dirHeader = 0; - dirEntry = 0; return false; } dirHeader = CVP(sig->filepos); -- cgit v0.12