Author: d0k
Date: Wed Feb 22 04:19:45 2017
New Revision: 295820

URL: http://llvm.org/viewvc/llvm-project?rev=295820&view=rev
Log:
[ODRHash] Avoid dereferencing end() of a SmallVector.

Found by MSAN.

Modified:
    cfe/trunk/lib/Serialization/ASTReader.cpp

Modified: cfe/trunk/lib/Serialization/ASTReader.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Serialization/ASTReader.cpp?rev=295820&r1=295819&r2=295820&view=diff
==============================================================================
--- cfe/trunk/lib/Serialization/ASTReader.cpp (original)
+++ cfe/trunk/lib/Serialization/ASTReader.cpp Wed Feb 22 04:19:45 2017
@@ -8987,7 +8987,8 @@ void ASTReader::diagnoseOdrViolations()
       // SecondDiffType will not be Other and FirstDecl and SecondDecl will be
       // filled in if not EndOfClass.
       while (FirstIt != FirstHashes.end() || SecondIt != SecondHashes.end()) {
-        if (FirstIt->second == SecondIt->second) {
+        if (FirstIt != FirstHashes.end() && SecondIt != SecondHashes.end() &&
+            FirstIt->second == SecondIt->second) {
           ++FirstIt;
           ++SecondIt;
           continue;


_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to