diff options
Diffstat (limited to 'llvm/lib/DebugInfo/PDB/Raw')
| -rw-r--r-- | llvm/lib/DebugInfo/PDB/Raw/PublicsStream.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/llvm/lib/DebugInfo/PDB/Raw/PublicsStream.cpp b/llvm/lib/DebugInfo/PDB/Raw/PublicsStream.cpp index 8e984058fff..eef5b1d79b2 100644 --- a/llvm/lib/DebugInfo/PDB/Raw/PublicsStream.cpp +++ b/llvm/lib/DebugInfo/PDB/Raw/PublicsStream.cpp @@ -164,10 +164,14 @@ Error PublicsStream::reload() { std::copy(TempThunkMap.begin(), TempThunkMap.end(), ThunkMap.begin()); // Something called "section map" follows. - std::vector<SectionOffset> SectionMap(Header->NumSections); - if (auto EC = Reader.readArray<SectionOffset>(SectionMap)) + std::vector<SectionOffset> Offsets(Header->NumSections); + if (auto EC = Reader.readArray<SectionOffset>(Offsets)) return make_error<RawError>(raw_error_code::corrupt_file, "Could not read a section map."); + for (auto &SO : Offsets) { + SectionOffsets.push_back(SO.Off); + SectionOffsets.push_back(SO.Isect); + } if (Reader.bytesRemaining() > 0) return make_error<RawError>(raw_error_code::corrupt_file, |

