Merge remote-tracking branch 'qatar/master'

* qatar/master:
  smacker: check frame size validity

Conflicts:
	libavformat/smacker.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2013-06-17 01:04:33 +02:00
commit 95275551ef

View File

@ -306,12 +306,14 @@ static int smacker_read_packet(AVFormatContext *s, AVPacket *pkt)
/* if audio chunks are present, put them to stack and retrieve later */
for(i = 0; i < 7; i++) {
if(flags & 1) {
unsigned int size;
uint32_t size;
uint8_t *tmpbuf;
size = avio_rl32(s->pb) - 4;
if(size + 4L > frame_size)
if (!size || size + 4L > frame_size) {
av_log(s, AV_LOG_ERROR, "Invalid audio part size\n");
return AVERROR_INVALIDDATA;
}
frame_size -= size;
frame_size -= 4;
smk->curstream++;