diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2015-11-14 18:06:37 +0100 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2015-11-14 18:26:11 +0100 |
commit | ebf5264cd6bbda6c0c379dfeaaba3b9afc3279a8 (patch) | |
tree | 0d003215de8a12e854131ca98d4f98d5175eca4c | |
parent | ac6ab77741f5e57c8c1d3980bfaf3690eb1cd8c0 (diff) | |
download | ffmpeg-streaming-ebf5264cd6bbda6c0c379dfeaaba3b9afc3279a8.zip ffmpeg-streaming-ebf5264cd6bbda6c0c379dfeaaba3b9afc3279a8.tar.gz |
avcodec/pgssubdec: Check dimensions for 0
Fixes division by 0
Fixes: b293a6479bb4b5286cff24d356bfd955/asan_generic_225c3c9_7819_cc526b657450c6cdef1371b526499626.mkv
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r-- | libavcodec/pgssubdec.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libavcodec/pgssubdec.c b/libavcodec/pgssubdec.c index a70c84b..61dc2ad 100644 --- a/libavcodec/pgssubdec.c +++ b/libavcodec/pgssubdec.c @@ -290,8 +290,8 @@ static int parse_object_segment(AVCodecContext *avctx, height = bytestream_get_be16(&buf); /* Make sure the bitmap is not too large */ - if (avctx->width < width || avctx->height < height) { - av_log(avctx, AV_LOG_ERROR, "Bitmap dimensions larger than video.\n"); + if (avctx->width < width || avctx->height < height || !width || !height) { + av_log(avctx, AV_LOG_ERROR, "Bitmap dimensions (%dx%d) invalid.\n", width, height); return AVERROR_INVALIDDATA; } |