diff --git a/libavformat/smacker.c b/libavformat/smacker.c index 8ec28bcd3b..fa4f6312c5 100644 --- a/libavformat/smacker.c +++ b/libavformat/smacker.c @@ -292,6 +292,8 @@ static int smacker_read_packet(AVFormatContext *s, AVPacket *pkt) } flags >>= 1; } + if (frame_size < 0) + return AVERROR_INVALIDDATA; if (av_new_packet(pkt, frame_size + 768)) return AVERROR(ENOMEM); if(smk->frm_size[smk->cur_frame] & 1)