diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2015-11-14 02:36:22 +0100 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2015-11-26 16:05:41 +0100 |
commit | f64ffbbdc0cc35fa3a478a8e6ca8b2342240bd02 (patch) | |
tree | 42b8f617ead16de0bbb129cf5a2e63ac46a79426 | |
parent | c0748b9954c8cc8fd2aec10f722000c9ec1f349c (diff) | |
download | ffmpeg-f64ffbbdc0cc35fa3a478a8e6ca8b2342240bd02.tar.gz |
avcodec/ivi: Check image dimensions
Fixes integer overflow
Fixes: 1e32c6c591d940337c20b197ec1c4d3d/asan_heap-oob_4a52e5_8946_0bb0d9e863def56005e49f1d89bdc94d.avi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit df91aa034b82b77a3c4e01791f4a2b2ff6c82066)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r-- | libavcodec/ivi.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libavcodec/ivi.c b/libavcodec/ivi.c index 4525ff494c..eab42bb535 100644 --- a/libavcodec/ivi.c +++ b/libavcodec/ivi.c @@ -30,6 +30,7 @@ #define BITSTREAM_READER_LE #include "libavutil/attributes.h" +#include "libavutil/imgutils.h" #include "libavutil/timer.h" #include "avcodec.h" #include "get_bits.h" @@ -310,7 +311,7 @@ av_cold int ff_ivi_init_planes(IVIPlaneDesc *planes, const IVIPicConfig *cfg, ivi_free_buffers(planes); - if (cfg->pic_width < 1 || cfg->pic_height < 1 || + if (av_image_check_size(cfg->pic_width, cfg->pic_height, 0, NULL) < 0 || cfg->luma_bands < 1 || cfg->chroma_bands < 1) return AVERROR_INVALIDDATA; |