From d989785e47a044cbfced09fbb85239a2c24e0af8 Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Wed, 9 Aug 2023 18:16:13 +0200 Subject: [PATCH] avformat/matroskadec: Avoid clobbering CodecPrivate size Signed-off-by: Andreas Rheinhardt --- libavformat/matroskadec.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index 21a0a1ecd5..147a146873 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -3036,15 +3036,14 @@ static int matroska_parse_tracks(AVFormatContext *s) track->codec_priv.size = 0; } - track->codec_priv.size -= extradata_offset; if (par->codec_id == AV_CODEC_ID_NONE) av_log(matroska->ctx, AV_LOG_INFO, "Unknown/unsupported AVCodecID %s.\n", track->codec_id); - if (!par->extradata && track->codec_priv.size > 0) { + if (!par->extradata && track->codec_priv.size > extradata_offset) { const uint8_t *src = track->codec_priv.data + extradata_offset; - unsigned extra_size = track->codec_priv.size; + unsigned extra_size = track->codec_priv.size - extradata_offset; ret = ff_alloc_extradata(par, extra_size); if (ret < 0) return ret;