[FFmpeg-devel] [PATCH] avfilter/scale: use int64_t for height/width calculation to address overflow

Michael Niedermayer michael at niedermayer.cc
Sun Feb 5 04:14:00 EET 2017


On Sat, Feb 04, 2017 at 10:04:36AM -0800, Aman Gupta wrote:
> From: Aman Gupta <aman at tmm1.net>
> 
> ---
>  libavfilter/scale.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/libavfilter/scale.c b/libavfilter/scale.c
> index 50cd442..9725f1f 100644
> --- a/libavfilter/scale.c
> +++ b/libavfilter/scale.c
> @@ -68,7 +68,7 @@ int ff_scale_eval_dimensions(void *log_ctx,
>      const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(inlink->format);
>      const AVPixFmtDescriptor *out_desc = av_pix_fmt_desc_get(outlink->format);
>      const char *expr;
> -    int w, h;
> +    int64_t w, h;
>      int factor_w, factor_h;
>      int eval_w, eval_h;
>      int ret;
> @@ -138,8 +138,8 @@ int ff_scale_eval_dimensions(void *log_ctx,
>      if (h < 0)
>          h = av_rescale(w, inlink->h, inlink->w * factor_h) * factor_h;
>  
> -    *ret_w = w;
> -    *ret_h = h;
> +    *ret_w = (int)w;
> +    *ret_h = (int)h;

I think the INT_MAX checks should be before casting to int

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

The real ebay dictionary, page 1
"Used only once"    - "Some unspecified defect prevented a second use"
"In good condition" - "Can be repaird by experienced expert"
"As is" - "You wouldnt want it even if you were payed for it, if you knew ..."
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20170205/aebc8f9d/attachment.sig>


More information about the ffmpeg-devel mailing list