Message ID | 20240326023056.20548-2-michael@niedermayer.cc |
---|---|
State | Accepted |
Commit | 48eeb198a55852ccb4b57cb73c4658767252614e |
Headers | show |
Series | [FFmpeg-devel,1/7] avcodec/hcadec: do not set hfr_group_count to invalid values | expand |
Context | Check | Description |
---|---|---|
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | success | Make fate finished |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
diff --git a/libavcodec/hcadec.c b/libavcodec/hcadec.c index 8c8c235f7b3..88146c7cdd3 100644 --- a/libavcodec/hcadec.c +++ b/libavcodec/hcadec.c @@ -538,8 +538,10 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *frame, return AVERROR_INVALIDDATA; } else if (AV_RB16(avpkt->data + 6) <= avpkt->size) { ret = init_hca(avctx, avpkt->data, AV_RB16(avpkt->data + 6)); - if (ret < 0) + if (ret < 0) { + c->crc_table = NULL; // signal that init has not finished return ret; + } offset = AV_RB16(avpkt->data + 6); if (offset == avpkt->size) return avpkt->size;
Fixes: 62285/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_HCA_fuzzer-6247136417087488 Fixes: out of array write Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> --- libavcodec/hcadec.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)