From 1795fed7bc7a8b8109757cb5f27198c5b05698b5 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sun, 25 Dec 2011 04:49:23 +0100 Subject: segafilm: fail earlier in case theres not enough bytestream left for a audio packet. This prevents a potentially large memory allocation. Signed-off-by: Michael Niedermayer --- libavformat/segafilm.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'libavformat/segafilm.c') diff --git a/libavformat/segafilm.c b/libavformat/segafilm.c index 17b118a91c..c2a163d9fc 100644 --- a/libavformat/segafilm.c +++ b/libavformat/segafilm.c @@ -30,6 +30,7 @@ #include "libavutil/intreadwrite.h" #include "avformat.h" #include "internal.h" +#include "avio_internal.h" #define FILM_TAG MKBETAG('F', 'I', 'L', 'M') #define FDSC_TAG MKBETAG('F', 'D', 'S', 'C') @@ -264,6 +265,8 @@ static int film_read_packet(AVFormatContext *s, (film->audio_type != CODEC_ID_ADPCM_ADX)) { /* stereo PCM needs to be interleaved */ + if (ffio_limit(pb, sample->sample_size) != sample->sample_size) + return AVERROR(EIO); if (av_new_packet(pkt, sample->sample_size)) return AVERROR(ENOMEM); -- cgit v1.2.3