diff options
Diffstat (limited to '')
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | src/decoder/plugins/DsdiffDecoderPlugin.cxx | 2 | ||||
-rw-r--r-- | src/decoder/plugins/DsfDecoderPlugin.cxx | 2 |
3 files changed, 3 insertions, 2 deletions
@@ -63,6 +63,7 @@ ver 0.19 (not yet released) ver 0.18.13 (not yet released) * decoder + - dsdiff, dsf: fix endless loop on malformed file - ffmpeg: support ffmpeg/libav version 11 ver 0.18.12 (2014/07/30) diff --git a/src/decoder/plugins/DsdiffDecoderPlugin.cxx b/src/decoder/plugins/DsdiffDecoderPlugin.cxx index 7288d4142..941cfbc7b 100644 --- a/src/decoder/plugins/DsdiffDecoderPlugin.cxx +++ b/src/decoder/plugins/DsdiffDecoderPlugin.cxx @@ -366,7 +366,7 @@ dsdiff_decode_chunk(Decoder &decoder, InputStream &is, const unsigned buffer_samples = buffer_frames * frame_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 fits into the local buffer */ size_t now_size = buffer_size; diff --git a/src/decoder/plugins/DsfDecoderPlugin.cxx b/src/decoder/plugins/DsfDecoderPlugin.cxx index f3554218b..b4f90b15b 100644 --- a/src/decoder/plugins/DsfDecoderPlugin.cxx +++ b/src/decoder/plugins/DsfDecoderPlugin.cxx @@ -232,7 +232,7 @@ dsf_decode_chunk(Decoder &decoder, InputStream &is, const unsigned buffer_samples = buffer_frames * frame_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 fits into the local buffer */ size_t now_size = buffer_size; |