diff options
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/ProfileData/InstrProfReader.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/ProfileData/InstrProfReader.cpp b/llvm/lib/ProfileData/InstrProfReader.cpp index 8a0354dc98c..fe52e1312ef 100644 --- a/llvm/lib/ProfileData/InstrProfReader.cpp +++ b/llvm/lib/ProfileData/InstrProfReader.cpp @@ -255,7 +255,8 @@ template <class IntPtrT> std::error_code RawInstrProfReader<IntPtrT>::readName(InstrProfRecord &Record) { Record.Name = StringRef(getName(Data->NamePtr), swap(Data->NameSize)); if (Record.Name.data() < NamesStart || - Record.Name.data() + Record.Name.size() > (char*)ValueDataStart) + Record.Name.data() + Record.Name.size() > + reinterpret_cast<const char *>(ValueDataStart)) return error(instrprof_error::malformed); return success(); } @@ -311,7 +312,8 @@ std::error_code RawInstrProfReader<IntPtrT>::readValueData( auto VDataCounts = makeArrayRef(getValueDataCounts(Data->Values), NumVSites); // Check bounds. if (VDataCounts.data() < ValueDataStart || - VDataCounts.data() + VDataCounts.size() > (const uint8_t *)ProfileEnd) + VDataCounts.data() + VDataCounts.size() > + reinterpret_cast<const uint8_t *>(ProfileEnd)) return error(instrprof_error::malformed); const InstrProfValueData *VDataPtr = |