diff --git a/libavformat/nutdec.c b/libavformat/nutdec.c index 97bad2410dbcbca8af5f1ba39ae91f402aeeb4f1..b3e49435dea850aa307f7d53f2b400d0e4e6ad59 100644 --- a/libavformat/nutdec.c +++ b/libavformat/nutdec.c @@ -687,6 +687,9 @@ static int decode_frame_header(NUTContext *nut, int *flags_ret, int64_t *pts, in get_v(bc); if(flags&FLAG_CHECKSUM){ get_be32(bc); //FIXME check this + }else if(size > 2*nut->max_distance){ + av_log(s, AV_LOG_ERROR, "frame size > 2max_distance and no checksum\n"); + return -1; } *flags_ret= flags;