Commit 0aedab03 authored by Laurent Aimar's avatar Laurent Aimar Committed by Martin Storsjö

Fixed invalid writes in wavpack decoder on corrupted bitstreams.

Signed-off-by: 's avatarMartin Storsjö <martin@martin.st>
parent beefafda
...@@ -1114,7 +1114,7 @@ static int wavpack_decode_block(AVCodecContext *avctx, int block_no, ...@@ -1114,7 +1114,7 @@ static int wavpack_decode_block(AVCodecContext *avctx, int block_no,
int16_t *dst = (int16_t*)samples + 1; int16_t *dst = (int16_t*)samples + 1;
int16_t *src = (int16_t*)samples; int16_t *src = (int16_t*)samples;
int cnt = samplecount; int cnt = samplecount;
while(cnt--){ while(cnt-- > 0){
*dst = *src; *dst = *src;
src += channel_stride; src += channel_stride;
dst += channel_stride; dst += channel_stride;
...@@ -1123,7 +1123,7 @@ static int wavpack_decode_block(AVCodecContext *avctx, int block_no, ...@@ -1123,7 +1123,7 @@ static int wavpack_decode_block(AVCodecContext *avctx, int block_no,
int32_t *dst = (int32_t*)samples + 1; int32_t *dst = (int32_t*)samples + 1;
int32_t *src = (int32_t*)samples; int32_t *src = (int32_t*)samples;
int cnt = samplecount; int cnt = samplecount;
while(cnt--){ while(cnt-- > 0){
*dst = *src; *dst = *src;
src += channel_stride; src += channel_stride;
dst += channel_stride; dst += channel_stride;
...@@ -1132,7 +1132,7 @@ static int wavpack_decode_block(AVCodecContext *avctx, int block_no, ...@@ -1132,7 +1132,7 @@ static int wavpack_decode_block(AVCodecContext *avctx, int block_no,
float *dst = (float*)samples + 1; float *dst = (float*)samples + 1;
float *src = (float*)samples; float *src = (float*)samples;
int cnt = samplecount; int cnt = samplecount;
while(cnt--){ while(cnt-- > 0){
*dst = *src; *dst = *src;
src += channel_stride; src += channel_stride;
dst += channel_stride; dst += channel_stride;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment