diff options
author | Yurii Zubrytskyi <zyy@google.com> | 2020-04-14 15:25:49 -0700 |
---|---|---|
committer | Yurii Zubrytskyi <zyy@google.com> | 2020-04-14 15:25:49 -0700 |
commit | 6c65a56d3904335a1ce243f3246e9eb9789d9602 (patch) | |
tree | b29881df98175e4e8441c31f9a1d4cfa3297712c /services/incremental/IncrementalService.cpp | |
parent | 14b289e661ab2b90d13d2d11be82dfc4f5a50d42 (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/IncrementalService.cpp')
-rw-r--r-- | services/incremental/IncrementalService.cpp | 4 |
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); |