summaryrefslogtreecommitdiff
path: root/libavcodec/g2meet.c
diff options
context:
space:
mode:
authorKostya Shishkov <kostya.shishkov@gmail.com>2013-11-29 09:15:00 +0100
committerAnton Khirnov <anton@khirnov.net>2013-11-29 17:37:59 +0100
commit01f6df01b6fdc2d71b82370374cde4bf102928c7 (patch)
tree624656c80fe3ff82212c52c9cb0643a5868c5ca6 /libavcodec/g2meet.c
parente026ee0446de27fc38e33e98704fada012fdc763 (diff)
downloadffmpeg-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/g2meet.c')
-rw-r--r--libavcodec/g2meet.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libavcodec/g2meet.c b/libavcodec/g2meet.c
index 0b4a8b718f..ad27c573f9 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);