This is an automated email from the git hooks/post-receive script.
Git pushed a commit to branch master
in repository ffmpeg.
The following commit(s) were added to refs/heads/master by this push:
new 1836ef9684 avcodec/adx: sync decoder channel state on NEW_EXTRADATA
1836ef9684 is described below
commit 1836ef96846937a6cc2443698a693104f5c0b21e
Author: Pavel Kohout <[email protected]>
AuthorDate: Mon Jun 29 23:46:16 2026 +0200
Commit: michaelni <[email protected]>
CommitDate: Thu Jul 2 14:38:46 2026 +0000
avcodec/adx: sync decoder channel state on NEW_EXTRADATA
Fixes: out of array access
Fixes: heaNtmHvklpe
Fixes: 92396cee602320c714713ca2d93b53684ad57000 (avformat: add CRI AAX
demuxer)
Found-by: Pavel Kohout (Aisle Research)
Signed-off-by: Michael Niedermayer <[email protected]>
---
libavcodec/adxdec.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/libavcodec/adxdec.c b/libavcodec/adxdec.c
index 019fc1a90d..a79ae430aa 100644
--- a/libavcodec/adxdec.c
+++ b/libavcodec/adxdec.c
@@ -173,6 +173,7 @@ static int adx_decode_frame(AVCodecContext *avctx, AVFrame
*frame,
new_extradata = av_packet_get_side_data(avpkt, AV_PKT_DATA_NEW_EXTRADATA,
&new_extradata_size);
if (new_extradata && new_extradata_size > 0) {
+ int old_channels = c->channels;
int header_size;
if ((ret = adx_decode_header(avctx, new_extradata,
new_extradata_size, &header_size,
@@ -181,6 +182,10 @@ static int adx_decode_frame(AVCodecContext *avctx, AVFrame
*frame,
return AVERROR_INVALIDDATA;
}
+ c->channels = avctx->ch_layout.nb_channels;
+ c->header_parsed = 1;
+ if (old_channels != c->channels)
+ memset(c->prev, 0, sizeof(c->prev));
c->eof = 0;
}
_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]