[ffmpeg] branch master updated. 041651841a avcodec/libjxlenc: fix leaked EXIF ifd
The branch, master has been updated via 041651841a1e11a6873a1d7b2f826b8678f8a2c8 (commit) via a8d6b87a4442c690587db6f44cc7ed72a2de81fc (commit) from c2d17c4db88c4ca11d264d15efde66233733ed51 (commit) - Log ----------------------------------------------------------------- commit 041651841a1e11a6873a1d7b2f826b8678f8a2c8 Author: Leo Izen <leo.izen@gmail.com> AuthorDate: Wed Aug 27 05:28:31 2025 -0400 Commit: Leo Izen <leo.izen@gmail.com> CommitDate: Wed Aug 27 05:28:31 2025 -0400 avcodec/libjxlenc: fix leaked EXIF ifd We're missing a call to av_exif_free here. We leak the internal heap- allocated objects when &ifd goes out of scope. Signed-off-by: Leo Izen <leo.izen@gmail.com> diff --git a/libavcodec/libjxlenc.c b/libavcodec/libjxlenc.c index 4f05f015e2..81c8233e40 100644 --- a/libavcodec/libjxlenc.c +++ b/libavcodec/libjxlenc.c @@ -394,6 +394,7 @@ static int libjxl_preprocess_stream(AVCodecContext *avctx, const AVFrame *frame, ret = av_exif_write(avctx, &ifd, &exif_buffer, AV_EXIF_TIFF_HEADER); if (ret < 0) av_log(avctx, AV_LOG_WARNING, "unable to process EXIF frame data\n"); + av_exif_free(&ifd); } else { sd = av_frame_get_side_data(frame, AV_FRAME_DATA_DISPLAYMATRIX); if (sd) commit a8d6b87a4442c690587db6f44cc7ed72a2de81fc Author: Leo Izen <leo.izen@gmail.com> AuthorDate: Wed Aug 27 05:26:03 2025 -0400 Commit: Leo Izen <leo.izen@gmail.com> CommitDate: Wed Aug 27 05:26:03 2025 -0400 avcodec/libjxldec: fix leaked EXIF ifd We're missing a call to av_exif_free here. We leak the internal heap- allocated objects when &ifd goes out of scope. Signed-off-by: Leo Izen <leo.izen@gmail.com> diff --git a/libavcodec/libjxldec.c b/libavcodec/libjxldec.c index 31f4592d1c..8ce69015bf 100644 --- a/libavcodec/libjxldec.c +++ b/libavcodec/libjxldec.c @@ -519,6 +519,7 @@ static int libjxl_receive_frame(AVCodecContext *avctx, AVFrame *frame) ret = ff_decode_exif_attach_ifd(avctx, ctx->frame, &ifd); if (ret < 0) av_log(avctx, AV_LOG_ERROR, "Unable to attach EXIF ifd\n"); + av_exif_free(&ifd); } if (ctx->basic_info.have_animation) { ctx->frame->pts = av_rescale_q(ctx->accumulated_pts, ctx->anim_timebase, avctx->pkt_timebase); ----------------------------------------------------------------------- Summary of changes: libavcodec/libjxldec.c | 1 + libavcodec/libjxlenc.c | 1 + 2 files changed, 2 insertions(+) hooks/post-receive --
participants (1)
-
ffmpeg-git@ffmpeg.org