diff --git a/0001-avfilter-af_afwtdn-fix-crash-with-EOF-handling.patch b/0001-avfilter-af_afwtdn-fix-crash-with-EOF-handling.patch new file mode 100644 index 0000000000000000000000000000000000000000..3ca8601f5948d7f36162e2dd963058376ed7d616 --- /dev/null +++ b/0001-avfilter-af_afwtdn-fix-crash-with-EOF-handling.patch @@ -0,0 +1,74 @@ +From b1942734c7cbcdc9034034373abcc9ecb9644c47 Mon Sep 17 00:00:00 2001 +From: Paul B Mahol +Date: Mon, 27 Nov 2023 11:45:34 +0100 +Subject: [PATCH] avfilter/af_afwtdn: fix crash with EOF handling + +--- + libavfilter/af_afwtdn.c | 34 +++++++++++++++++++--------------- + 1 file changed, 19 insertions(+), 15 deletions(-) + +diff --git a/libavfilter/af_afwtdn.c b/libavfilter/af_afwtdn.c +index 0fcfa779f9..63b7f5fc25 100644 +--- a/libavfilter/af_afwtdn.c ++++ b/libavfilter/af_afwtdn.c +@@ -408,6 +408,7 @@ typedef struct AudioFWTDNContext { + + uint64_t sn; + int64_t eof_pts; ++ int eof; + + int wavelet_type; + int channels; +@@ -1069,7 +1070,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in) + s->drop_samples = 0; + } else { + if (s->padd_samples < 0 && eof) { +- out->nb_samples += s->padd_samples; ++ out->nb_samples = FFMAX(0, out->nb_samples + s->padd_samples); + s->padd_samples = 0; + } + if (!eof) +@@ -1208,23 +1209,26 @@ static int activate(AVFilterContext *ctx) + + FF_FILTER_FORWARD_STATUS_BACK(outlink, inlink); + +- ret = ff_inlink_consume_samples(inlink, s->nb_samples, s->nb_samples, &in); +- if (ret < 0) +- return ret; +- if (ret > 0) +- return filter_frame(inlink, in); ++ if (!s->eof) { ++ ret = ff_inlink_consume_samples(inlink, s->nb_samples, s->nb_samples, &in); ++ if (ret < 0) ++ return ret; ++ if (ret > 0) ++ return filter_frame(inlink, in); ++ } + + if (ff_inlink_acknowledge_status(inlink, &status, &pts)) { +- if (status == AVERROR_EOF) { +- while (s->padd_samples != 0) { +- ret = filter_frame(inlink, NULL); +- if (ret < 0) +- return ret; +- } +- ff_outlink_set_status(outlink, status, pts); +- return ret; +- } ++ if (status == AVERROR_EOF) ++ s->eof = 1; + } ++ ++ if (s->eof && s->padd_samples != 0) { ++ return filter_frame(inlink, NULL); ++ } else if (s->eof) { ++ ff_outlink_set_status(outlink, AVERROR_EOF, s->eof_pts); ++ return 0; ++ } ++ + FF_FILTER_FORWARD_WANTED(outlink, inlink); + + return FFERROR_NOT_READY; +-- +2.39.3 + diff --git a/0002-avfilter-vf_colorcorrect-fix-memory-leaks.patch b/0002-avfilter-vf_colorcorrect-fix-memory-leaks.patch new file mode 100644 index 0000000000000000000000000000000000000000..3ae618d0ed435c895e1f8f8a2fe985f32e7e9200 --- /dev/null +++ b/0002-avfilter-vf_colorcorrect-fix-memory-leaks.patch @@ -0,0 +1,25 @@ +From 5f87a68cf70dafeab2fb89b42e41a4c29053b89b Mon Sep 17 00:00:00 2001 +From: Paul B Mahol +Date: Mon, 27 Nov 2023 12:08:20 +0100 +Subject: [PATCH] avfilter/vf_colorcorrect: fix memory leaks + +--- + libavfilter/vf_colorcorrect.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/libavfilter/vf_colorcorrect.c b/libavfilter/vf_colorcorrect.c +index 1c4dea531b..6bdec2c9d8 100644 +--- a/libavfilter/vf_colorcorrect.c ++++ b/libavfilter/vf_colorcorrect.c +@@ -497,6 +497,8 @@ static av_cold void uninit(AVFilterContext *ctx) + ColorCorrectContext *s = ctx->priv; + + av_freep(&s->analyzeret); ++ av_freep(&s->uhistogram); ++ av_freep(&s->vhistogram); + } + + static const AVFilterPad colorcorrect_inputs[] = { +-- +2.39.3 + diff --git a/ffmpeg.spec b/ffmpeg.spec index 3d53162c28b4712b4f5aa8108a7ea04c01351623..6d448fa27e6945f0b2362845bf353eb73b7a4a4e 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -1,4 +1,4 @@ -%define anolis_release 3 +%define anolis_release 4 %global av_codec_soversion 60 %global av_device_soversion 60 @@ -20,6 +20,8 @@ Summary: A complete, cross-platform solution to record, convert and strea License: GPL-3.0-or-later URL: https://ffmpeg.org Source0: https://ffmpeg.org/releases/%{name}-%{version}.tar.xz +Patch0001: 0001-avfilter-af_afwtdn-fix-crash-with-EOF-handling.patch +Patch0002: 0002-avfilter-vf_colorcorrect-fix-memory-leaks.patch BuildRequires: lame-devel >= 3.98.3 BuildRequires: libtool @@ -261,7 +263,7 @@ pixel format conversion operations. This subpackage contains the headers for FFmpeg libswscale. %prep -%autosetup -n %{name}-%{version} +%autosetup -p1 -n %{name}-%{version} sed -i "s|check_host_cflags -O3|check_host_cflags %{optflags}|" configure install -m0755 -d _doc/examples cp -a doc/examples/{*.c,Makefile,README} _doc/examples/ @@ -404,6 +406,9 @@ rm -rf %{buildroot}%{_datadir}/%{name}/examples %changelog +* Sat Apr 12 2025 yangjinlin01 - 6.1.1-4 +- fix CVE-2023-50007 CVE-2023-50008 + * Fri Jan 19 2024 Funda Wang - 6.1.1-3 - Drop Recommends on openh264, as we do not dlopen it for now