aboutsummaryrefslogtreecommitdiff
path: root/lib/Lex/HeaderMap.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Lex/HeaderMap.cpp')
-rw-r--r--lib/Lex/HeaderMap.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/Lex/HeaderMap.cpp b/lib/Lex/HeaderMap.cpp
index d058e1ece4..0b75af54d1 100644
--- a/lib/Lex/HeaderMap.cpp
+++ b/lib/Lex/HeaderMap.cpp
@@ -142,8 +142,11 @@ HMapBucket HeaderMap::getBucket(unsigned BucketNo) const {
sizeof(HMapHeader));
const HMapBucket *BucketPtr = BucketArray+BucketNo;
- if ((char*)(BucketPtr+1) > FileBuffer->getBufferEnd())
+ if ((char*)(BucketPtr+1) > FileBuffer->getBufferEnd()) {
+ Result.Prefix = 0;
+ Result.Suffix = 0;
return Result; // Invalid buffer, corrupt hmap.
+ }
// Otherwise, the bucket is valid. Load the values, bswapping as needed.
Result.Key = getEndianAdjustedWord(BucketPtr->Key);