summaryrefslogtreecommitdiff
path: root/services/incremental
diff options
context:
space:
mode:
authorYurii Zubrytskyi <zyy@google.com>2020-04-14 15:25:49 -0700
committerYurii Zubrytskyi <zyy@google.com>2020-04-14 15:25:49 -0700
commit6c65a56d3904335a1ce243f3246e9eb9789d9602 (patch)
treeb29881df98175e4e8441c31f9a1d4cfa3297712c /services/incremental
parent14b289e661ab2b90d13d2d11be82dfc4f5a50d42 (diff)
[incfs] Fix the block size calculation in .so extraction
Bug: 154044009 Test: adb install megacity.apk && adb shell cat *.so Change-Id: I0069c8cfa74c83810152d917a2bac9cdaf24d6a7
Diffstat (limited to 'services/incremental')
-rw-r--r--services/incremental/IncrementalService.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/services/incremental/IncrementalService.cpp b/services/incremental/IncrementalService.cpp
index 149dfa6be6c4..f7cc8f5f0141 100644
--- a/services/incremental/IncrementalService.cpp
+++ b/services/incremental/IncrementalService.cpp
@@ -1337,13 +1337,13 @@ void IncrementalService::extractZipFile(const IfsMountPtr& ifs, ZipArchiveHandle
std::vector<IncFsDataBlock> instructions(numBlocks);
auto remainingData = std::span(libData.get(), entry.uncompressed_length);
for (int i = 0; i < numBlocks; i++) {
- const auto blockSize = std::min<uint16_t>(constants().blockSize, remainingData.size());
+ const auto blockSize = std::min<long>(constants().blockSize, remainingData.size());
instructions[i] = IncFsDataBlock{
.fileFd = writeFd.get(),
.pageIndex = static_cast<IncFsBlockIndex>(i),
.compression = INCFS_COMPRESSION_KIND_NONE,
.kind = INCFS_BLOCK_KIND_DATA,
- .dataSize = blockSize,
+ .dataSize = static_cast<uint32_t>(blockSize),
.data = reinterpret_cast<const char*>(remainingData.data()),
};
remainingData = remainingData.subspan(blockSize);