• Troy Rollo's avatar
    ole32: Fix excessive file sizes for Storage files. · 1be295fb
    Troy Rollo authored
    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).
    1be295fb
storage32.c 206 KB