diff --git a/libavcodec/cllc.c b/libavcodec/cllc.c index e0895d2e1f..77de6e71c7 100644 --- a/libavcodec/cllc.c +++ b/libavcodec/cllc.c @@ -71,6 +71,10 @@ static int read_code_table(CLLCContext *ctx, GetBitContext *gb, VLC *vlc) count++; } + if (prefix > (65535 - 256)/2) { + vlc->table = NULL; + return AVERROR_INVALIDDATA; + } prefix <<= 1; }