Commit b829da36 authored by Michael Niedermayer's avatar Michael Niedermayer

smacker: add sanity check for length in smacker_decode_tree()

Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent 7681d0ea
...@@ -96,6 +96,10 @@ enum SmkBlockTypes { ...@@ -96,6 +96,10 @@ enum SmkBlockTypes {
*/ */
static int smacker_decode_tree(GetBitContext *gb, HuffContext *hc, uint32_t prefix, int length) static int smacker_decode_tree(GetBitContext *gb, HuffContext *hc, uint32_t prefix, int length)
{ {
if(length > 32) {
av_log(NULL, AV_LOG_ERROR, "length too long\n");
return -1;
}
if(!get_bits1(gb)){ //Leaf if(!get_bits1(gb)){ //Leaf
if(hc->current >= 256){ if(hc->current >= 256){
av_log(NULL, AV_LOG_ERROR, "Tree size exceeded!\n"); av_log(NULL, AV_LOG_ERROR, "Tree size exceeded!\n");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment