diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2017-02-22 10:19:45 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2017-02-22 10:19:45 +0000 |
commit | 6f224d2bc05602f0b5b9d94d8be7bb10148715f5 (patch) | |
tree | 2725612f4845400e44ef2269f322dd4262310426 /clang/lib/Serialization | |
parent | 07056a06a0734694b8f437c35d3ddfeee8c1dd71 (diff) | |
download | bcm5719-llvm-6f224d2bc05602f0b5b9d94d8be7bb10148715f5.tar.gz bcm5719-llvm-6f224d2bc05602f0b5b9d94d8be7bb10148715f5.zip |
[ODRHash] Avoid dereferencing end() of a SmallVector.
Found by MSAN.
llvm-svn: 295820
Diffstat (limited to 'clang/lib/Serialization')
-rw-r--r-- | clang/lib/Serialization/ASTReader.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Serialization/ASTReader.cpp b/clang/lib/Serialization/ASTReader.cpp index c8ee5c65298..01e1340f9bd 100644 --- a/clang/lib/Serialization/ASTReader.cpp +++ b/clang/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; |