From 8291aedf1abfdbc48c9aa18a7929a464c186782a Mon Sep 17 00:00:00 2001 From: Marth64 Date: Tue, 10 Dec 2024 18:04:25 -0600 Subject: [PATCH] avformat/mov: don't reallocate extradata when converting dvdsub palette After introduction of ff_dvdclut_palette_extradata_cat() to convert DVD subtitle palettes from YUV to RGB, a leak is introduced because of the call to ff_alloc_extradata(). This is not necessary, instead we should free the extradata because ff_bprint_to_codecpar_extradata() will finalize the bprint'ed string to the codecpar and set the length. Fixes leak introduced in 3b0e6c0eccd7d61eb089370fc5f2196c2b30336f. Signed-off-by: Marth64 --- libavformat/mov.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/libavformat/mov.c b/libavformat/mov.c index 3820983a5d..26f1bf7e1b 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -10602,9 +10602,8 @@ static int mov_read_header(AVFormatContext *s) if (err < 0) return err; - err = ff_alloc_extradata(st->codecpar, FF_DVDCLUT_EXTRADATA_SIZE); - if (err < 0) - return err; + av_freep(&st->codecpar->extradata); + st->codecpar->extradata_size = 0; err = ff_dvdclut_palette_extradata_cat(dvdsub_clut, FF_DVDCLUT_CLUT_SIZE, st->codecpar);