From b6d0bb6086d1e92e120f74dfe6249b7cbf7ced8b Mon Sep 17 00:00:00 2001 From: Jean Delvare Date: Sat, 13 Jul 2013 16:50:42 +0200 Subject: [PATCH] lavfi/delogo: Fix sign extension issue Coverity complains about a possible sign extension issue in apply_delogo(). While it is extremely unlikely to happen, it is easy to fix so let's just do that. Using unsigned variables even makes the binary code smaller. Fixes Coverity CID 1046439. Signed-off-by: Jean Delvare Signed-off-by: Michael Niedermayer --- libavfilter/vf_delogo.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libavfilter/vf_delogo.c b/libavfilter/vf_delogo.c index 8356c615dc..45a29cf00c 100644 --- a/libavfilter/vf_delogo.c +++ b/libavfilter/vf_delogo.c @@ -58,9 +58,9 @@ static void apply_delogo(uint8_t *dst, int dst_linesize, uint8_t *src, int src_linesize, int w, int h, AVRational sar, int logo_x, int logo_y, int logo_w, int logo_h, - int band, int show, int direct) + unsigned int band, int show, int direct) { - int x, y, dist; + int x, y; uint64_t interp, weightl, weightr, weightt, weightb; uint8_t *xdst, *xsrc; @@ -125,7 +125,8 @@ static void apply_delogo(uint8_t *dst, int dst_linesize, x >= logo_x+band && x < logo_x+logo_w-band) { *xdst = interp; } else { - dist = 0; + unsigned dist = 0; + if (x < logo_x+band) dist = FFMAX(dist, logo_x-x+band); else if (x >= logo_x+logo_w-band)