Commit 95275551 authored by Michael Niedermayer's avatar Michael Niedermayer

Merge remote-tracking branch 'qatar/master'

* qatar/master:
  smacker: check frame size validity

Conflicts:
	libavformat/smacker.c
Merged-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parents e99f324c ee16a0ce
...@@ -306,12 +306,14 @@ static int smacker_read_packet(AVFormatContext *s, AVPacket *pkt) ...@@ -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 */ /* if audio chunks are present, put them to stack and retrieve later */
for(i = 0; i < 7; i++) { for(i = 0; i < 7; i++) {
if(flags & 1) { if(flags & 1) {
unsigned int size; uint32_t size;
uint8_t *tmpbuf; uint8_t *tmpbuf;
size = avio_rl32(s->pb) - 4; 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; return AVERROR_INVALIDDATA;
}
frame_size -= size; frame_size -= size;
frame_size -= 4; frame_size -= 4;
smk->curstream++; smk->curstream++;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment