filmstripdec: correctly check image dimensions

This prevents a division by zero in read_packet.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
This commit is contained in:
Andreas Cadhalpun 2016-11-13 18:22:12 +01:00
parent 03cef34aa6
commit 25012c5644

View File

@ -25,6 +25,7 @@
*/
#include "libavutil/intreadwrite.h"
#include "libavutil/imgutils.h"
#include "avformat.h"
#include "internal.h"
@ -68,10 +69,8 @@ static int read_header(AVFormatContext *s)
st->codecpar->height = avio_rb16(pb);
film->leading = avio_rb16(pb);
if (st->codecpar->width * 4LL * st->codecpar->height >= INT_MAX) {
av_log(s, AV_LOG_ERROR, "dimensions too large\n");
return AVERROR_PATCHWELCOME;
}
if (av_image_check_size(st->codecpar->width, st->codecpar->height, 0, s) < 0)
return AVERROR_INVALIDDATA;
avpriv_set_pts_info(st, 64, 1, avio_rb16(pb));