d98a3e026c
PackageFileHeapWriter::_UnwriteLastPartialChunk() used ReadData() to extract the last partial chunk into the pending buffer. This indirectly calls PackageFileHeapWriter::ReadAndDecompressChunk(), which assumes data past the last full chunk to come from the pending data buffer. Since the pending data buffer is not filled in at that point, the call to ReadAndDecompressChunk() simply did nothing, leaving the object with a correctly sized but completely nulled pending data buffer. The last partial chunk of a package would therefore always get corrupted when updating a package. Fixes #11306 that provided a reduced test case that happened to corrupt the only chunk of a package, nulling the .PackageInfo and therefore making the error more obvious as subsequent parsing of the info failed. |
||
---|---|---|
.. | ||
app | ||
bluetooth | ||
debug | ||
device | ||
game | ||
interface | ||
locale | ||
media | ||
midi | ||
midi2 | ||
network | ||
package | ||
screensaver | ||
shared | ||
storage | ||
support | ||
textencoding | ||
tracker | ||
translation | ||
CountryFlags.rdef | ||
Jamfile | ||
LanguageFlags.rdef | ||
libbe_test_versions | ||
libbe_version.rdef | ||
libbe_versions |