From: Benjamin Kramer Date: Wed, 22 Feb 2017 10:19:45 +0000 (+0000) Subject: [ODRHash] Avoid dereferencing end() of a SmallVector. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5d16d63d750cf6280ddade313563bc715b33c4a6;p=clang [ODRHash] Avoid dereferencing end() of a SmallVector. Found by MSAN. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@295820 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Serialization/ASTReader.cpp b/lib/Serialization/ASTReader.cpp index c8ee5c6529..01e1340f9b 100644 --- a/lib/Serialization/ASTReader.cpp +++ b/lib/Serialization/ASTReader.cpp @@ -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;