From 7bf3f380466eeff24916fd6218aca13e414c6240 Mon Sep 17 00:00:00 2001 From: Mark Thompson Date: Thu, 9 Nov 2017 01:04:20 +0000 Subject: cbs: Add padding to slice data allocations These may be read by the bitstream reader, so they should include the necessary padding for overreads. --- libavcodec/cbs_mpeg2.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'libavcodec/cbs_mpeg2.c') diff --git a/libavcodec/cbs_mpeg2.c b/libavcodec/cbs_mpeg2.c index 3c09377df3..8a4da96a0a 100644 --- a/libavcodec/cbs_mpeg2.c +++ b/libavcodec/cbs_mpeg2.c @@ -181,7 +181,8 @@ static int cbs_mpeg2_read_unit(CodedBitstreamContext *ctx, len = unit->data_size; slice->data_size = len - pos / 8; - slice->data = av_malloc(slice->data_size); + slice->data = av_malloc(slice->data_size + + AV_INPUT_BUFFER_PADDING_SIZE); if (!slice->data) { av_free(slice); return AVERROR(ENOMEM); @@ -189,6 +190,8 @@ static int cbs_mpeg2_read_unit(CodedBitstreamContext *ctx, memcpy(slice->data, unit->data + pos / 8, slice->data_size); + memset(slice->data + slice->data_size, 0, + AV_INPUT_BUFFER_PADDING_SIZE); slice->data_bit_start = pos % 8; unit->content = slice; -- cgit v1.2.3