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 <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2011-12-25 04:49:23 +01:00
parent 27d323577c
commit 1795fed7bc
1 changed files with 3 additions and 0 deletions

View File

@ -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);