Browse Source

avfilter/vf_gblur: fix heap-buffer overflow

Fixes #8282
tags/n4.3
Paul B Mahol 5 years ago
parent
commit
64a805883d
2 changed files with 3 additions and 3 deletions
  1. +1
    -1
      libavfilter/vf_gblur.c
  2. +2
    -2
      libavfilter/x86/vf_gblur.asm

+ 1
- 1
libavfilter/vf_gblur.c View File

@@ -236,7 +236,7 @@ static int config_input(AVFilterLink *inlink)

s->nb_planes = av_pix_fmt_count_planes(inlink->format);

s->buffer = av_malloc_array(inlink->w, inlink->h * sizeof(*s->buffer));
s->buffer = av_malloc_array(FFALIGN(inlink->w, 16), FFALIGN(inlink->h, 16) * sizeof(*s->buffer));
if (!s->buffer)
return AVERROR(ENOMEM);



+ 2
- 2
libavfilter/x86/vf_gblur.asm View File

@@ -100,7 +100,7 @@ cglobal horiz_slice, 4, 9, 9, ptr, width, height, steps, nu, bscale, x, y, step,

add widthq, remainq
cmp xq, widthq
je .end_scalar
jge .end_scalar

.loop_scalar:
; ptr[x] += nu * ptr[x-1]
@@ -148,7 +148,7 @@ cglobal horiz_slice, 4, 9, 9, ptr, width, height, steps, nu, bscale, x, y, step,
jg .loop_x_back

cmp xq, 0
je .end_scalar_back
jle .end_scalar_back

.loop_scalar_back:
; ptr[x-1] += nu * ptr[x]


Loading…
Cancel
Save