summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRainer Schuetze <r.sagitario@gmx.de>2017-08-22 06:56:59 (GMT)
committerRainer Schuetze <r.sagitario@gmx.de>2017-08-22 06:56:59 (GMT)
commitbb0e25a41af88c9bf76e5cda02a6fd45f9d09778 (patch)
tree2bc5685aab02298f641e9873828fb2219e0c7400
parenta0e7ca52f09ad98f6d3991ccbbd48524279af708 (diff)
downloadcv2pdb-bb0e25a41af88c9bf76e5cda02a6fd45f9d09778.zip
cv2pdb-bb0e25a41af88c9bf76e5cda02a6fd45f9d09778.tar.gz
cv2pdb-bb0e25a41af88c9bf76e5cda02a6fd45f9d09778.tar.bz2
fix "try DWARF after unsupport CodeView signature"
-rw-r--r--src/PEImage.cpp8
1 files 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<OMFDirHeader>(sig->filepos);