If TryPdbFile() returns false, the while block below will enter infinite loop.
// Try candidates, prefer those ones having the smallest age differencestd::map<int,std::wstring>::iteratorit=asCandidates.begin();while(it!=asCandidates.end()){// Try to open the filesPdbFileName=it->second;sPdbFileName+=slash;sPdbFileName+=sPdbName;if(TryPdbFile(sPdbFileName,sPeFileName,sGUIDnAge,ppPdbReader,ppPeReader,pnEntry,true,sErrorMsg,bExactMatchBuildAge)){returntrue;}}
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
If TryPdbFile() returns false, the while block below will enter infinite loop.
missing iterator increment.