diff options
| -rw-r--r-- | llvm/lib/DebugInfo/PDB/Raw/DbiStreamBuilder.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/lib/DebugInfo/PDB/Raw/DbiStreamBuilder.cpp b/llvm/lib/DebugInfo/PDB/Raw/DbiStreamBuilder.cpp index 9989c4c6dd7..33c07ffa3b8 100644 --- a/llvm/lib/DebugInfo/PDB/Raw/DbiStreamBuilder.cpp +++ b/llvm/lib/DebugInfo/PDB/Raw/DbiStreamBuilder.cpp @@ -107,7 +107,7 @@ uint32_t DbiStreamBuilder::calculateModiSubstreamSize() const { Size += M->Mod.size() + 1; Size += M->Obj.size() + 1; } - return Size; + return alignTo(Size, sizeof(uint32_t)); } uint32_t DbiStreamBuilder::calculateSectionContribsStreamSize() const { @@ -134,7 +134,7 @@ uint32_t DbiStreamBuilder::calculateFileInfoSubstreamSize() const { NumFileInfos += M->SourceFiles.size(); Size += NumFileInfos * sizeof(ulittle32_t); // FileNameOffsets Size += calculateNamesBufferSize(); - return Size; + return alignTo(Size, sizeof(uint32_t)); } uint32_t DbiStreamBuilder::calculateNamesBufferSize() const { @@ -167,7 +167,7 @@ Error DbiStreamBuilder::generateModiSubstream() { if (auto EC = ModiWriter.writeZeroString(M->Obj)) return EC; } - if (ModiWriter.bytesRemaining() != 0) + if (ModiWriter.bytesRemaining() > sizeof(uint32_t)) return make_error<RawError>(raw_error_code::invalid_format, "Unexpected bytes in Modi Stream Data"); return Error::success(); @@ -228,7 +228,7 @@ Error DbiStreamBuilder::generateFileInfoSubstream() { return make_error<RawError>(raw_error_code::invalid_format, "The names buffer contained unexpected data."); - if (MetadataWriter.bytesRemaining() > 0) + if (MetadataWriter.bytesRemaining() > sizeof(uint32_t)) return make_error<RawError>( raw_error_code::invalid_format, "The metadata buffer contained unexpected data."); |

