ole32: Fix excessive file sizes for Storage files.
The IStorage (DocFile) implementation was adding empty blocks at the
end of the file every time a caller wrote data that was not a multiple
of 512 bytes. If the caller made a lot of very small writes the file
size could be huge even though the data in the file was tiny. This was
caused by BlockChainStream_SetSize trying to allocate file blocks for
the new data using a condition that bore no relationship to the
required condition, and it was not necessary to do so at that time
since it is done (the right way) by StorageImpl_GetNextFreeBigBlock
(called via BlockChainStream_Enlarge).
Showing
Please
register
or
sign in
to comment