diff --git a/libavcodec/bitstream.c b/libavcodec/bitstream.c index aad5ffa2fbece01987badb5eb3ecf777d8b73c0a..506eb336a010b88ec9bfbbfdd74d5a122e3ef91b 100644 --- a/libavcodec/bitstream.c +++ b/libavcodec/bitstream.c @@ -157,6 +157,8 @@ static int build_table(VLC *vlc, int table_nb_bits, int nb_codes, VLC_TYPE (*table)[2]; table_size = 1 << table_nb_bits; + if (table_nb_bits > 30) + return -1; table_index = alloc_table(vlc, table_size, flags & INIT_VLC_USE_NEW_STATIC); av_dlog(NULL, "new table index=%d size=%d\n", table_index, table_size); if (table_index < 0)