|
|
|
@@ -28,6 +28,7 @@ |
|
|
|
#include <inttypes.h> |
|
|
|
#include <zlib.h> |
|
|
|
|
|
|
|
#include "libavutil/imgutils.h" |
|
|
|
#include "libavutil/intreadwrite.h" |
|
|
|
|
|
|
|
#include "avcodec.h" |
|
|
|
@@ -1451,7 +1452,8 @@ static int g2m_decode_frame(AVCodecContext *avctx, void *data, |
|
|
|
c->tile_height = bytestream2_get_be32(&bc); |
|
|
|
if (c->tile_width <= 0 || c->tile_height <= 0 || |
|
|
|
((c->tile_width | c->tile_height) & 0xF) || |
|
|
|
c->tile_width * (uint64_t)c->tile_height >= INT_MAX / 4 |
|
|
|
c->tile_width * (uint64_t)c->tile_height >= INT_MAX / 4 || |
|
|
|
av_image_check_size2(c->tile_width, c->tile_height, avctx->max_pixels, avctx->pix_fmt, 0, avctx) < 0 |
|
|
|
) { |
|
|
|
av_log(avctx, AV_LOG_ERROR, |
|
|
|
"Invalid tile dimensions %dx%d\n", |
|
|
|
|