diff options
author | Raphael Isemann <teemperor@gmail.com> | 2018-05-23 09:02:40 +0000 |
---|---|---|
committer | Raphael Isemann <teemperor@gmail.com> | 2018-05-23 09:02:40 +0000 |
commit | eb13d3d22e9bd303b4065b372a692cd04e4b8cc1 (patch) | |
tree | aef99e8ddea888f84df42fed141d687d6c1c82f9 /clang/lib | |
parent | 6356571ec03d8ba816f9ac1d506b9fd34cfc9f3f (diff) | |
download | bcm5719-llvm-eb13d3d22e9bd303b4065b372a692cd04e4b8cc1.tar.gz bcm5719-llvm-eb13d3d22e9bd303b4065b372a692cd04e4b8cc1.zip |
Fix unaligned memory access when reading INPUT_FILE_OFFSETS data
Summary: The blob data is unaligned, so we also should read it as such. Should fix the random failures with the sanitizer builds.
Reviewers: rsmith, v.g.vassilev
Reviewed By: v.g.vassilev
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D47247
llvm-svn: 333069
Diffstat (limited to 'clang/lib')
-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 8c8b8788910..8224236f610 100644 --- a/clang/lib/Serialization/ASTReader.cpp +++ b/clang/lib/Serialization/ASTReader.cpp @@ -4811,7 +4811,8 @@ bool ASTReader::readASTFileControlBlock( unsigned NumInputFiles = Record[0]; unsigned NumUserFiles = Record[1]; - const uint64_t *InputFileOffs = (const uint64_t *)Blob.data(); + const llvm::support::unaligned_uint64_t *InputFileOffs = + (const llvm::support::unaligned_uint64_t *)Blob.data(); for (unsigned I = 0; I != NumInputFiles; ++I) { // Go find this input file. bool isSystemFile = I >= NumUserFiles; |