diff options
author | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2009-07-05 16:01:51 +0000 |
---|---|---|
committer | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2009-07-05 16:01:51 +0000 |
commit | ad9210869459cede35baabbe20820b80e666c358 (patch) | |
tree | fc95f7323c20a8b24a1142808147dbe3c808934b /libavcodec | |
parent | 7576516a7edfa5227cc0d82950afc027b819cdb5 (diff) | |
download | ffmpeg-ad9210869459cede35baabbe20820b80e666c358.tar.gz |
Add a check to vp6_parse_coeff_huffman to ensure it does not overread the input buffer.
Originally committed as revision 19349 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/vp6.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/libavcodec/vp6.c b/libavcodec/vp6.c index c1ca2273b1..de98e61e6e 100644 --- a/libavcodec/vp6.c +++ b/libavcodec/vp6.c @@ -372,6 +372,8 @@ static void vp6_parse_coeff_huffman(VP56Context *s) if (coeff_idx) break; } else { + if (get_bits_count(&s->gb) >= s->gb.size_in_bits) + return; coeff = get_vlc2(&s->gb, vlc_coeff->table, 9, 3); if (coeff == 0) { if (coeff_idx) { |