From 97ea5da41993481f25ea44d5510fdca2d194549c Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sat, 30 May 2026 22:05:34 +0200 Subject: [PATCH] avfilter/vf_scale: split rational multiply Fixes: integer overflow in SAR Found-by: jiale yao Signed-off-by: Michael Niedermayer --- libavfilter/vf_scale.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavfilter/vf_scale.c b/libavfilter/vf_scale.c index aa506ff53c..f2d3021080 100644 --- a/libavfilter/vf_scale.c +++ b/libavfilter/vf_scale.c @@ -658,7 +658,8 @@ static int config_props(AVFilterLink *outlink) if (scale->reset_sar) outlink->sample_aspect_ratio = (AVRational){1, 1}; else if (inlink0->sample_aspect_ratio.num){ - outlink->sample_aspect_ratio = av_mul_q((AVRational){outlink->h * inlink0->w, outlink->w * inlink0->h}, inlink0->sample_aspect_ratio); + AVRational q = av_div_q((AVRational){inlink0->w, inlink0->h}, (AVRational){outlink->w, outlink->h}); + outlink->sample_aspect_ratio = av_mul_q(q, inlink0->sample_aspect_ratio); } else outlink->sample_aspect_ratio = inlink0->sample_aspect_ratio;