diff options
author | Martin Storsjö <martin@martin.st> | 2013-09-11 15:20:01 +0300 |
---|---|---|
committer | Luca Barbato <lu_zero@gentoo.org> | 2014-01-07 09:43:56 +0100 |
commit | 61032c577db0421c332d0eea10a00748353b38ee (patch) | |
tree | 88209e7d1269d1c6aa5c54d780c068c85324a382 | |
parent | e01d623e01937d43de404807ae0bf7c2cf88fb0b (diff) | |
download | ffmpeg-61032c577db0421c332d0eea10a00748353b38ee.tar.gz |
smacker: Don't return packets in unallocated streams
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit 8d928023f953a28692ba27071a448259134b103b)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
-rw-r--r-- | libavformat/smacker.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/libavformat/smacker.c b/libavformat/smacker.c index d6bb21373e..3d5a3b8d72 100644 --- a/libavformat/smacker.c +++ b/libavformat/smacker.c @@ -336,6 +336,8 @@ static int smacker_read_packet(AVFormatContext *s, AVPacket *pkt) smk->cur_frame++; smk->nextpos = avio_tell(s->pb); } else { + if (smk->stream_id[smk->curstream] < 0) + return AVERROR_INVALIDDATA; if (av_new_packet(pkt, smk->buf_sizes[smk->curstream])) return AVERROR(ENOMEM); memcpy(pkt->data, smk->bufs[smk->curstream], smk->buf_sizes[smk->curstream]); |