diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2013-04-18 02:52:41 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-01-16 00:35:12 +0100 |
commit | bb6f4667946c7e4b5e99971a60040c9adedee84b (patch) | |
tree | 1dedb05d0f23a5b2fcb3158edeea57c8862dd3be | |
parent | 08a319549a4198150f92be8cd36f06b7ec1d9eb3 (diff) | |
download | ffmpeg-bb6f4667946c7e4b5e99971a60040c9adedee84b.tar.gz |
avcodec/bitstream: check codes in ff_init_vlc_sparse()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 6998af4a40e67b5f0bfb769b7749f38a92eb2819)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavcodec/bitstream.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/bitstream.c b/libavcodec/bitstream.c index 6598d3e397..2dda9bbf7b 100644 --- a/libavcodec/bitstream.c +++ b/libavcodec/bitstream.c @@ -310,6 +310,10 @@ int ff_init_vlc_sparse(VLC *vlc, int nb_bits, int nb_codes, return -1;\ }\ GET_DATA(buf[j].code, codes, i, codes_wrap, codes_size);\ + if (buf[j].code >= (1LL<<buf[j].bits)) {\ + av_log(NULL, AV_LOG_ERROR, "Invalid code in init_vlc\n");\ + return -1;\ + }\ if (flags & INIT_VLC_LE)\ buf[j].code = bitswap_32(buf[j].code);\ else\ |