decoer/dsdiff: fix endless loop on malformed file
Same bug as in the previous commit.
This commit is contained in:
parent
23dce21647
commit
78abcd7df7
2
NEWS
2
NEWS
|
@ -1,6 +1,6 @@
|
||||||
ver 0.18.13 (not yet released)
|
ver 0.18.13 (not yet released)
|
||||||
* decoder
|
* decoder
|
||||||
- dsf: fix endless loop on malformed file
|
- dsdiff, dsf: fix endless loop on malformed file
|
||||||
- ffmpeg: support ffmpeg/libav version 11
|
- ffmpeg: support ffmpeg/libav version 11
|
||||||
|
|
||||||
ver 0.18.12 (2014/07/30)
|
ver 0.18.12 (2014/07/30)
|
||||||
|
|
|
@ -377,7 +377,7 @@ dsdiff_decode_chunk(Decoder &decoder, InputStream &is,
|
||||||
const unsigned buffer_samples = buffer_frames * frame_size;
|
const unsigned buffer_samples = buffer_frames * frame_size;
|
||||||
const size_t buffer_size = buffer_samples * sample_size;
|
const size_t buffer_size = buffer_samples * sample_size;
|
||||||
|
|
||||||
while (chunk_size > 0) {
|
while (chunk_size >= frame_size) {
|
||||||
/* see how much aligned data from the remaining chunk
|
/* see how much aligned data from the remaining chunk
|
||||||
fits into the local buffer */
|
fits into the local buffer */
|
||||||
size_t now_size = buffer_size;
|
size_t now_size = buffer_size;
|
||||||
|
|
Loading…
Reference in New Issue