From e67741feea1fca56be19e4a4ae25ca077e425673 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sun, 28 Apr 2024 22:57:53 +0200 Subject: [PATCH] avcodec/atrac9dec: Check init_get_bits8() for failure Fixes: CID1439569 Unchecked return value Fixes: CID1439578 Unchecked return value Sponsored-by: Sovereign Tech Fund Reviewed-by: Lynne Signed-off-by: Michael Niedermayer (cherry picked from commit 615c994739cacbeb0a2f48f8271d911fcd0b4303) Signed-off-by: Michael Niedermayer --- libavcodec/atrac9dec.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libavcodec/atrac9dec.c b/libavcodec/atrac9dec.c index d24a8e3f79..a2b094629c 100644 --- a/libavcodec/atrac9dec.c +++ b/libavcodec/atrac9dec.c @@ -801,7 +801,9 @@ static int atrac9_decode_frame(AVCodecContext *avctx, AVFrame *frame, if (ret < 0) return ret; - init_get_bits8(&gb, avpkt->data, avpkt->size); + ret = init_get_bits8(&gb, avpkt->data, avpkt->size); + if (ret < 0) + return ret; for (int i = 0; i < frames; i++) { for (int j = 0; j < s->block_config->count; j++) { @@ -923,7 +925,9 @@ static av_cold int atrac9_decode_init(AVCodecContext *avctx) return AVERROR_INVALIDDATA; } - init_get_bits8(&gb, avctx->extradata + 4, avctx->extradata_size); + err = init_get_bits8(&gb, avctx->extradata + 4, avctx->extradata_size); + if (err < 0) + return err; if (get_bits(&gb, 8) != 0xFE) { av_log(avctx, AV_LOG_ERROR, "Incorrect magic byte!\n");