diff options
author | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2007-12-01 09:39:59 +0000 |
---|---|---|
committer | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2007-12-01 09:39:59 +0000 |
commit | 892a4c2da8518aa5c86b6cfdd90a7f399a41c814 (patch) | |
tree | 717c50f5ed10141bb918db4c777d080a639eac51 | |
parent | 5d702d6db24bca64bd94a7ed0ad6211967084107 (diff) | |
download | ffmpeg-892a4c2da8518aa5c86b6cfdd90a7f399a41c814.tar.gz |
Fix nodes[nb_codes*2-1].count being uninitialized and used to initialize
nodes[nb_codes*2-2].count (thus making that invalid as well) in
ff_huff_build_tree.
Might fix some (hard to reproduce) crashes in VP6 decoder.
Originally committed as revision 11119 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavcodec/huffman.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libavcodec/huffman.c b/libavcodec/huffman.c index f75346f4cc..43a78558e7 100644 --- a/libavcodec/huffman.c +++ b/libavcodec/huffman.c @@ -82,6 +82,7 @@ int ff_huff_build_tree(AVCodecContext *avctx, VLC *vlc, int nb_codes, } qsort(nodes, nb_codes, sizeof(Node), cmp); cur_node = nb_codes; + nodes[nb_codes*2-1].count = 0; for(i = 0; i < nb_codes*2-1; i += 2){ nodes[cur_node].sym = HNODE; nodes[cur_node].count = nodes[i].count + nodes[i+1].count; |