Projects
Essentials
A_tw-ffmpeg-4
ffmpeg-4-CVE-2026-66036.patch
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File ffmpeg-4-CVE-2026-66036.patch of Package A_tw-ffmpeg-4
From b3c7ebc1edc401fd9881277fdfae93f3f24ceb81 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer <michael@niedermayer.cc> Date: Sat, 11 Jul 2026 16:46:39 +0200 Subject: [PATCH] avfilter/vf_swaprect: size the temp row buffer for the widest plane Fixes: out of array access Fixes: 7aj_swaprect_odd17_nv12.nut / 7aj_generate_swaprect_odd17_nv12.py Fixes: VRAXYvKtmKa8 Found-by: Adrian Junge (vurlo) <adjun37@gmail.com> (cherry picked from commit a7e38b617b32f996beaa371bbf04b39907d7a527) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> --- libavfilter/vf_swaprect.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff a/libavfilter/avfilter.c b/libavfilter/avfilter.c --- a/libavfilter/avfilter.c +++ b/libavfilter/avfilter.c @@ -1104,7 +1104,8 @@ int ff_filter_frame(AVFilterLink *link, strcmp(link->dst->filter->name, "format") && strcmp(link->dst->filter->name, "idet") && strcmp(link->dst->filter->name, "null") && - strcmp(link->dst->filter->name, "scale")) { + strcmp(link->dst->filter->name, "scale") && + strcmp(link->dst->filter->name, "hqdn3d")) { av_assert1(frame->format == link->format); av_assert1(frame->width == link->w); av_assert1(frame->height == link->h); diff a/libavfilter/vf_hqdn3d.c b/libavfilter/vf_hqdn3d.c --- a/libavfilter/vf_hqdn3d.c +++ b/libavfilter/vf_hqdn3d.c @@ -322,21 +322,28 @@ static int filter_frame(AVFilterLink *in AVFrame *out; int direct = av_frame_is_writable(in) && !ctx->is_disabled; ThreadData td; - int ret[3]; + int err, ret[3]; - if (in->format != s->format || - in->width != s->width || - in->height != s->height) { - av_log(ctx, AV_LOG_ERROR, - "Frame size or format changed without filter graph reinitialization\n"); + if (in->format != s->format) { av_frame_free(&in); return AVERROR(EINVAL); } + if (in->width != s->width || in->height != s->height) { + inlink->w = in->width; + inlink->h = in->height; + if ((err = config_input(inlink)) < 0) { + av_frame_free(&in); + return err; + } + outlink->w = in->width; + outlink->h = in->height; + } + if (direct) { out = in; } else { - out = ff_get_video_buffer(outlink, outlink->w, outlink->h); + out = ff_get_video_buffer(outlink, in->width, in->height); if (!out) { av_frame_free(&in); return AVERROR(ENOMEM);
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.