From 78abcd7df7ad967c44c884773cc7d39cf3c811a9 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Thu, 21 Aug 2014 12:48:03 +0200 Subject: decoer/dsdiff: fix endless loop on malformed file Same bug as in the previous commit. --- src/decoder/DsdiffDecoderPlugin.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/decoder/DsdiffDecoderPlugin.cxx') diff --git a/src/decoder/DsdiffDecoderPlugin.cxx b/src/decoder/DsdiffDecoderPlugin.cxx index 60b2e7624..767395215 100644 --- a/src/decoder/DsdiffDecoderPlugin.cxx +++ b/src/decoder/DsdiffDecoderPlugin.cxx @@ -377,7 +377,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; -- cgit v1.2.3