[FFmpeg-devel] [PATCH] avcodec/ccaption_dec: Add a blank like at the end to avoid rollup reading from outside
Alexander Strasser
eclipse7 at gmx.net
Mon Apr 22 10:49:41 EEST 2019
Hi Michael!
On 2019-04-20 18:11 +0200, Michael Niedermayer wrote:
> Fixes: index 20 out of bounds for type 'const char *[4][128]'
Somehow I don't understand this diagnostic message. It says "index
20 out of bounds for [4][128]".
You're change looks like an off-by-one fix.
Sorry; I'm surely missing something as I didn't look up the code,
just thought I might as well ask...
Alexander
> Fixes: 14367/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CCAPTION_fuzzer-5718819672162304
>
> 14367/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CCAPTION_fuzzer-5718819672162304
> Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> ---
> libavcodec/ccaption_dec.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/libavcodec/ccaption_dec.c b/libavcodec/ccaption_dec.c
> index 09ceb1b3bf..bf3563a0bc 100644
> --- a/libavcodec/ccaption_dec.c
> +++ b/libavcodec/ccaption_dec.c
> @@ -212,10 +212,10 @@ static const unsigned char pac2_attribs[32][3] = // Color, font, ident
>
> struct Screen {
> /* +1 is used to compensate null character of string */
> - uint8_t characters[SCREEN_ROWS][SCREEN_COLUMNS+1];
> - uint8_t charsets[SCREEN_ROWS][SCREEN_COLUMNS+1];
> - uint8_t colors[SCREEN_ROWS][SCREEN_COLUMNS+1];
> - uint8_t fonts[SCREEN_ROWS][SCREEN_COLUMNS+1];
> + uint8_t characters[SCREEN_ROWS+1][SCREEN_COLUMNS+1];
> + uint8_t charsets[SCREEN_ROWS+1][SCREEN_COLUMNS+1];
> + uint8_t colors[SCREEN_ROWS+1][SCREEN_COLUMNS+1];
> + uint8_t fonts[SCREEN_ROWS+1][SCREEN_COLUMNS+1];
> /*
> * Bitmask of used rows; if a bit is not set, the
> * corresponding row is not used.
> --
> 2.21.0
More information about the ffmpeg-devel
mailing list