diff --git a/src/kits/package/hpkg/PackageWriterImpl.cpp b/src/kits/package/hpkg/PackageWriterImpl.cpp index 9bf4913b62..03a117d6dd 100644 --- a/src/kits/package/hpkg/PackageWriterImpl.cpp +++ b/src/kits/package/hpkg/PackageWriterImpl.cpp @@ -1117,9 +1117,10 @@ PackageWriterImpl::_CompactHeap() } // move the final chunk - if (delta > 0 && chunkOffset < fHeapEnd) { + off_t heapSize = fHeapEnd - fHeapOffset; + if (delta > 0 && chunkOffset < heapSize) { _MoveHeapChunk(chunkOffset, chunkOffset - delta, - fHeapEnd - chunkOffset); + heapSize - chunkOffset); } fHeapEnd -= delta;