diff --git a/libavformat/smacker.c b/libavformat/smacker.c index b0ccd5387a..b219153513 100644 --- a/libavformat/smacker.c +++ b/libavformat/smacker.c @@ -348,6 +348,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]);