X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fpvfdec.c;h=c6652b9b43cd8fac17c2691e0b350072e5f5b139;hb=91ed4e71967f19824237de4c374f038b543c7555;hp=b9f6d4f2c2f518ca88c11a4c88dbac4c8e70d736;hpb=1bc6cdf2fcbd3caea7b78d0a617c6e338606d756;p=ffmpeg diff --git a/libavformat/pvfdec.c b/libavformat/pvfdec.c index b9f6d4f2c2f..c6652b9b43c 100644 --- a/libavformat/pvfdec.c +++ b/libavformat/pvfdec.c @@ -19,6 +19,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavcodec/internal.h" #include "avformat.h" #include "internal.h" #include "pcm.h" @@ -44,7 +45,8 @@ static int pvf_read_header(AVFormatContext *s) &bps) != 3) return AVERROR_INVALIDDATA; - if (channels <= 0 || bps <= 0 || sample_rate <= 0) + if (channels <= 0 || channels > FF_SANE_NB_CHANNELS || + bps <= 0 || bps > INT_MAX / FF_SANE_NB_CHANNELS || sample_rate <= 0) return AVERROR_INVALIDDATA; st = avformat_new_stream(s, NULL);