diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2015-11-14 20:06:37 +0300 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2015-11-14 20:26:11 +0300 |
commit | ebf5264cd6bbda6c0c379dfeaaba3b9afc3279a8 (patch) | |
tree | 0d003215de8a12e854131ca98d4f98d5175eca4c /libavcodec/pgssubdec.c | |
parent | ac6ab77741f5e57c8c1d3980bfaf3690eb1cd8c0 (diff) |
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>
Diffstat (limited to 'libavcodec/pgssubdec.c')
-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 a70c84b4b0..61dc2adf95 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; } |