From: Marton Balint Date: Sat, 28 Dec 2019 14:05:43 +0000 (+0100) Subject: avfilter/vf_geq: fix multiple assignments of ptr in slice_geq_filter X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=47d5d0cc74d047ce49c0d89878dadb09e8fb8b9c;p=ffmpeg avfilter/vf_geq: fix multiple assignments of ptr in slice_geq_filter Fixes Coverity CID 1427183. Signed-off-by: Marton Balint --- diff --git a/libavfilter/vf_geq.c b/libavfilter/vf_geq.c index 2905efae249..23c989b2486 100644 --- a/libavfilter/vf_geq.c +++ b/libavfilter/vf_geq.c @@ -375,8 +375,6 @@ static int slice_geq_filter(AVFilterContext *ctx, void *arg, int jobnr, int nb_j const int slice_start = (height * jobnr) / nb_jobs; const int slice_end = (height * (jobnr+1)) / nb_jobs; int x, y; - uint8_t *ptr; - uint16_t *ptr16; double values[VAR_VARS_NB]; values[VAR_W] = geq->values[VAR_W]; @@ -387,8 +385,8 @@ static int slice_geq_filter(AVFilterContext *ctx, void *arg, int jobnr, int nb_j values[VAR_T] = geq->values[VAR_T]; if (geq->bps == 8) { + uint8_t *ptr = geq->dst + linesize * slice_start; for (y = slice_start; y < slice_end; y++) { - ptr = geq->dst + linesize * y; values[VAR_Y] = y; for (x = 0; x < width; x++) { @@ -397,15 +395,15 @@ static int slice_geq_filter(AVFilterContext *ctx, void *arg, int jobnr, int nb_j } ptr += linesize; } - } - else { + } else { + uint16_t *ptr16 = geq->dst16 + (linesize/2) * slice_start; for (y = slice_start; y < slice_end; y++) { - ptr16 = geq->dst16 + (linesize/2) * y; values[VAR_Y] = y; for (x = 0; x < width; x++) { values[VAR_X] = x; ptr16[x] = av_expr_eval(geq->e[plane], values, geq); } + ptr16 += linesize/2; } }