aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZhao Zhili <quinkblack@foxmail.com>2018-09-19 10:55:11 +0800
committerPedro Arthur <bygrandao@gmail.com>2018-09-19 13:21:27 -0300
commit0d7a75e848c3119a69962bae5b90492b02053f93 (patch)
tree840e1ba8b91e860239a5b279135e6b1530c5f51b
parent076558a9f4039b9e3278dfaa7364a8e62916d9a2 (diff)
downloadffmpeg-0d7a75e848c3119a69962bae5b90492b02053f93.tar.gz
avfilter/vf_sr: fix read out of bounds
Signed-off-by: Pedro Arthur <bygrandao@gmail.com>
-rw-r--r--libavfilter/vf_sr.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/libavfilter/vf_sr.c b/libavfilter/vf_sr.c
index 8a77a1de13..c1ae6c5ff2 100644
--- a/libavfilter/vf_sr.c
+++ b/libavfilter/vf_sr.c
@@ -227,7 +227,8 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
0, sr_context->sws_slice_h, out->data, out->linesize);
sws_scale(sr_context->sws_contexts[1], (const uint8_t **)out->data, out->linesize,
- 0, out->height, (uint8_t * const*)(&sr_context->input.data), &sr_context->sws_input_linesize);
+ 0, out->height, (uint8_t * const*)(&sr_context->input.data),
+ (const int [4]){sr_context->sws_input_linesize, 0, 0, 0});
}
else{
if (sr_context->sws_contexts[0]){
@@ -238,7 +239,8 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
}
sws_scale(sr_context->sws_contexts[1], (const uint8_t **)in->data, in->linesize,
- 0, in->height, (uint8_t * const*)(&sr_context->input.data), &sr_context->sws_input_linesize);
+ 0, in->height, (uint8_t * const*)(&sr_context->input.data),
+ (const int [4]){sr_context->sws_input_linesize, 0, 0, 0});
}
av_frame_free(&in);
@@ -248,7 +250,8 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
return AVERROR(EIO);
}
- sws_scale(sr_context->sws_contexts[2], (const uint8_t **)(&sr_context->output.data), &sr_context->sws_output_linesize,
+ sws_scale(sr_context->sws_contexts[2], (const uint8_t **)(&sr_context->output.data),
+ (const int[4]){sr_context->sws_output_linesize, 0, 0, 0},
0, out->height, (uint8_t * const*)out->data, out->linesize);
return ff_filter_frame(outlink, out);