diff options
author | Kostya Shishkov <kostya.shishkov@gmail.com> | 2013-11-29 09:15:00 +0100 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2013-11-29 17:37:59 +0100 |
commit | 01f6df01b6fdc2d71b82370374cde4bf102928c7 (patch) | |
tree | 624656c80fe3ff82212c52c9cb0643a5868c5ca6 /libavcodec | |
parent | e026ee0446de27fc38e33e98704fada012fdc763 (diff) | |
download | ffmpeg-streaming-01f6df01b6fdc2d71b82370374cde4bf102928c7.zip ffmpeg-streaming-01f6df01b6fdc2d71b82370374cde4bf102928c7.tar.gz |
go2meeting: disallow tile dimensions that are not multiple of 16
Original decoder seems to always use 176x128 tiles anyway and this helps
avoiding lots of issues with odd tile sizes in fuzzed files.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/g2meet.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libavcodec/g2meet.c b/libavcodec/g2meet.c index 0b4a8b7..ad27c57 100644 --- a/libavcodec/g2meet.c +++ b/libavcodec/g2meet.c @@ -712,7 +712,8 @@ static int g2m_decode_frame(AVCodecContext *avctx, void *data, } c->tile_width = bytestream2_get_be32(&bc); c->tile_height = bytestream2_get_be32(&bc); - if (!c->tile_width || !c->tile_height) { + if (!c->tile_width || !c->tile_height || + ((c->tile_width | c->tile_height) & 0xF)) { av_log(avctx, AV_LOG_ERROR, "Invalid tile dimensions %dx%d\n", c->tile_width, c->tile_height); |