avcodec/smacker: Use unsigned for shift

Given that the code currently accepts only 27 bits long Huffman codes,
the shift 1 << (length - 1) with length in 1..28 that is performed when
parsing the tree is safe. Yet if this limit were ever expanded to the
full 32 bits, this shift would be potentially undefined. So simply use
unsigned.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
pull/352/head
Andreas Rheinhardt 4 years ago
parent 056a8fc071
commit 01dbcbb37a
  1. 2
      libavcodec/smacker.c

@ -121,7 +121,7 @@ static int smacker_decode_tree(GetBitContext *gb, HuffContext *hc, uint32_t pref
r = smacker_decode_tree(gb, hc, prefix, length); r = smacker_decode_tree(gb, hc, prefix, length);
if(r) if(r)
return r; return r;
return smacker_decode_tree(gb, hc, prefix | (1 << (length - 1)), length); return smacker_decode_tree(gb, hc, prefix | (1U << (length - 1)), length);
} }
} }

Loading…
Cancel
Save