From 1b4f672f32a07317ed1b4903b7c5fec4f5db4d66 Mon Sep 17 00:00:00 2001 From: AlexWhiter Date: Sun, 8 Apr 2018 00:01:59 +0700 Subject: Cleanup of RSDS block after allocation. --- src/cv2pdb.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/cv2pdb.cpp b/src/cv2pdb.cpp index 9b7edbf..0562278 100644 --- a/src/cv2pdb.cpp +++ b/src/cv2pdb.cpp @@ -167,10 +167,10 @@ bool CV2PDB::openPDB(const TCHAR* pdbname, const TCHAR* pdbref) #endif rsdsLen = 24 + strlen(pdbnameA) + 1; // sizeof(OMFSignatureRSDS) without name - // Growing the RSDS block to the closest 16-byte boundary. - if (rsdsLen & 0xF) - rsdsLen = (rsdsLen | 0xF) + 1; + // Growing the RSDS block to the closest 16-byte boundary to align the debug directory. + rsdsLen = (rsdsLen + 0xf) & ~0xf; rsds = (OMFSignatureRSDS *) new char[rsdsLen]; + memset(rsds, 0, rsdslen); memcpy (rsds->Signature, "RSDS", 4); pdb->QuerySignature2(&rsds->guid); rsds->age = pdb->QueryAge(); -- cgit v0.12