Index: trunk/i386/libsaio/hfs.c =================================================================== --- trunk/i386/libsaio/hfs.c (revision 135) +++ trunk/i386/libsaio/hfs.c (revision 136) @@ -887,7 +887,8 @@ readOffset = ((blockNumber - countedBlocks) * gBlockSize) + (offset % gBlockSize); - readSize = GetExtentSize(currentExtent, 0) * gBlockSize - readOffset; + // MacWen: fix overflow in multiplication by forcing 64bit multiplication + readSize = (long long)GetExtentSize(currentExtent, 0) * gBlockSize - readOffset; if (readSize > (size - sizeRead)) readSize = size - sizeRead; readOffset += (long long)GetExtentStart(currentExtent, 0) * gBlockSize;