avcodec/aacsbr_template: Do not leave bs_num_env invalid
authorMichael Niedermayer <michael@niedermayer.cc>
Fri, 5 May 2017 21:00:59 +0000 (23:00 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Fri, 5 May 2017 22:33:19 +0000 (00:33 +0200)
Fixes out of array read
Fixes: 1349/clusterfuzz-testcase-minimized-5370707196248064

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/aacsbr_template.c

index 750131c..aaa48ef 100644 (file)
@@ -640,6 +640,7 @@ static int read_sbr_grid(AACContext *ac, SpectralBandReplication *sbr,
             av_log(ac->avctx, AV_LOG_ERROR,
                    "Invalid bitstream, too many SBR envelopes in FIXFIX type SBR frame: %d\n",
                    ch_data->bs_num_env);
+            ch_data->bs_num_env = 2;
             return -1;
         }
 
@@ -695,6 +696,7 @@ static int read_sbr_grid(AACContext *ac, SpectralBandReplication *sbr,
             av_log(ac->avctx, AV_LOG_ERROR,
                    "Invalid bitstream, too many SBR envelopes in VARVAR type SBR frame: %d\n",
                    ch_data->bs_num_env);
+            ch_data->bs_num_env = 2;
             return -1;
         }