diff options
author | Laurent Aimar <[email protected]> | 2011-09-12 20:50:13 +0200 |
---|---|---|
committer | Michael Niedermayer <[email protected]> | 2011-11-03 03:27:16 +0100 |
commit | ecd6fa11c2cde5ca3fb787a2cfeb594d6205684b (patch) | |
tree | fe5904e520b26aba1d8f47a5348af7c9c60f3fe7 | |
parent | 7cb35d49547e64c0bbd7e66e489e954f16b823c5 (diff) |
Check for invalid packet size in the smacker demuxer.
Signed-off-by: Martin Storsjö <[email protected]>
(cherry picked from commit e055932f5636a82275837968eea9c8fcb5bca474)
Signed-off-by: Anton Khirnov <[email protected]>
-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 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) |