[incfs] Fix the block size calculation in .so extraction

Bug: 154044009
Test: adb install megacity.apk && adb shell cat *.so
Change-Id: I0069c8cfa74c83810152d917a2bac9cdaf24d6a7
diff --git a/services/incremental/IncrementalService.cpp b/services/incremental/IncrementalService.cpp
index 149dfa6..f7cc8f5 100644
--- a/services/incremental/IncrementalService.cpp
+++ b/services/incremental/IncrementalService.cpp
@@ -1337,13 +1337,13 @@
     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);