summaryrefslogtreecommitdiff
path: root/libavfilter/vf_fieldorder.c
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2019-10-13 23:10:16 +0200
committerPaul B Mahol <onemda@gmail.com>2019-10-13 23:10:16 +0200
commit07050d7bdc32d82e53ee5bb727f5882323d00dba (patch)
treeb56cb060fde606b1ebf0f8114d3596c44c5f7843 /libavfilter/vf_fieldorder.c
parent99f8d32129dd233d4eb2efa44678a0bc44869f23 (diff)
avfilter/vf_fieldorder: fix heap-buffer overflow
Fixes #8264
Diffstat (limited to 'libavfilter/vf_fieldorder.c')
-rw-r--r--libavfilter/vf_fieldorder.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libavfilter/vf_fieldorder.c b/libavfilter/vf_fieldorder.c
index ca55ff1f66..5707151f1b 100644
--- a/libavfilter/vf_fieldorder.c
+++ b/libavfilter/vf_fieldorder.c
@@ -108,8 +108,8 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame)
s->dst_tff ? "up" : "down");
h = frame->height;
for (plane = 0; plane < 4 && frame->data[plane] && frame->linesize[plane]; plane++) {
- dst_line_step = out->linesize[plane];
- src_line_step = frame->linesize[plane];
+ dst_line_step = out->linesize[plane] * (h > 2);
+ src_line_step = frame->linesize[plane] * (h > 2);
line_size = s->line_size[plane];
dst = out->data[plane];
src = frame->data[plane];