aboutsummaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
Diffstat (limited to 'source')
-rw-r--r--source/Host/common/LZMA.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/source/Host/common/LZMA.cpp b/source/Host/common/LZMA.cpp
index 47a15708c..02be8a09d 100644
--- a/source/Host/common/LZMA.cpp
+++ b/source/Host/common/LZMA.cpp
@@ -76,7 +76,7 @@ getUncompressedSize(llvm::ArrayRef<uint8_t> InputBuffer) {
// Decode xz footer.
lzma_ret xzerr = lzma_stream_footer_decode(
- &opts, InputBuffer.data() + InputBuffer.size() - LZMA_STREAM_HEADER_SIZE);
+ &opts, InputBuffer.take_back(LZMA_STREAM_HEADER_SIZE).data());
if (xzerr != LZMA_OK) {
return llvm::createStringError(llvm::inconvertibleErrorCode(),
"lzma_stream_footer_decode()=%s",
@@ -94,11 +94,11 @@ getUncompressedSize(llvm::ArrayRef<uint8_t> InputBuffer) {
lzma_index *xzindex;
uint64_t memlimit(UINT64_MAX);
size_t inpos = 0;
- xzerr =
- lzma_index_buffer_decode(&xzindex, &memlimit, nullptr,
- InputBuffer.data() + InputBuffer.size() -
- LZMA_STREAM_HEADER_SIZE - opts.backward_size,
- &inpos, InputBuffer.size());
+ xzerr = lzma_index_buffer_decode(
+ &xzindex, &memlimit, nullptr,
+ InputBuffer.take_back(LZMA_STREAM_HEADER_SIZE + opts.backward_size)
+ .data(),
+ &inpos, InputBuffer.size());
if (xzerr != LZMA_OK) {
return llvm::createStringError(llvm::inconvertibleErrorCode(),
"lzma_index_buffer_decode()=%s",