opusdec: Don't run vector_fmul_scalar on zero length arrays
authorKieran Kunhya <kierank@obe.tv>
Mon, 26 Oct 2015 23:09:44 +0000 (23:09 +0000)
committerMichael Niedermayer <michael@niedermayer.cc>
Tue, 27 Oct 2015 01:45:40 +0000 (02:45 +0100)
Fixes crashes on fuzzed files
Fixes Ticket4969 part2

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/opusdec.c

index 6025f67..31871e9 100644 (file)
@@ -585,7 +585,7 @@ static int opus_decode_packet(AVCodecContext *avctx, void *data,
             memset(frame->extended_data[i], 0, frame->linesize[0]);
         }
 
-        if (c->gain_i) {
+        if (c->gain_i && decoded_samples > 0) {
             c->fdsp->vector_fmul_scalar((float*)frame->extended_data[i],
                                        (float*)frame->extended_data[i],
                                        c->gain, FFALIGN(decoded_samples, 8));