avcodec/atrac9dec: Set channels
authorMichael Niedermayer <michael@niedermayer.cc>
Sun, 20 Oct 2019 22:22:46 +0000 (00:22 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Mon, 21 Oct 2019 20:57:10 +0000 (22:57 +0200)
Fixes: null pointer dereference
Fixes: 18341/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ATRAC9_fuzzer-5681203490848768

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Lynne <dev@lynne.ee>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/atrac9dec.c

index 46e60ca..b0f659d 100644 (file)
@@ -873,6 +873,7 @@ static av_cold int atrac9_decode_init(AVCodecContext *avctx)
     s->block_config = &at9_block_layout[block_config_idx];
 
     avctx->channel_layout = s->block_config->channel_layout;
+    avctx->channels       = av_get_channel_layout_nb_channels(avctx->channel_layout);
     avctx->sample_fmt     = AV_SAMPLE_FMT_FLTP;
 
     if (get_bits1(&gb)) {