Code was only expanding the buffer by 10000 bytes as it read through. This resulted in blowing the array bounds when the last, noncompressed chunk of data was larger than this. This was easily broken by products with a single compressed chunk, followed by all uncompressed data. A representative data file and smoke test is included.
This was actually triggered by a failure to build Siphon docs trying to access this data over CDMRemote.
Description of Changes
Code was only expanding the buffer by 10000 bytes as it read through. This resulted in blowing the array bounds when the last, noncompressed chunk of data was larger than this. This was easily broken by products with a single compressed chunk, followed by all uncompressed data. A representative data file and smoke test is included.
This was actually triggered by a failure to build Siphon docs trying to access this data over CDMRemote.
PR Checklist