truemotion: forbid invalid VLC bitsizes and token values.
authorRonald S. Bultje <rsbultje@gmail.com>
Thu, 29 Mar 2012 17:25:04 +0000 (10:25 -0700)
committerReinhard Tartler <siretart@tauware.de>
Sun, 29 Apr 2012 20:07:03 +0000 (22:07 +0200)
commitbe424d86a85af1d86d2a4d1bc3fede3d6078f796
tree816d71191bb5fc6a47a556913d6877c4f55d8319
parenta08cb950b25d31ecc9c083dc8f70b30ec3c70cc9
truemotion: forbid invalid VLC bitsizes and token values.

SHOW_UBITS() is only defined up to n_bits is 25, therefore forbid
values larger than this in get_vlc2() (max_bits). tokens[][] can be
used as an index in deltas[], which has a size of 64, so ensure the
values are smaller than that.

This prevents crashes on corrupt bitstreams.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
(cherry picked from commit b7b1509d06d3696d3b944791227fe198ded0654b)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
libavcodec/truemotion2.c