]> git.sesse.net Git - ffmpeg/commitdiff
avcodec/bitstream: Don't check for undefined behaviour after it happened
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Thu, 25 Jun 2020 13:10:35 +0000 (15:10 +0200)
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Sat, 27 Jun 2020 21:30:54 +0000 (23:30 +0200)
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
libavcodec/bitstream.c

index be8a0f634dc60013b46c86999bab17b1285e93c6..53a2db7451bcd05844e941abcb72ddc16ffabdfa 100644 (file)
@@ -162,9 +162,9 @@ static int build_table(VLC *vlc, int table_nb_bits, int nb_codes,
     uint32_t code;
     volatile VLC_TYPE (* volatile table)[2]; // the double volatile is needed to prevent an internal compiler error in gcc 4.2
 
-    table_size = 1 << table_nb_bits;
     if (table_nb_bits > 30)
        return AVERROR(EINVAL);
+    table_size = 1 << table_nb_bits;
     table_index = alloc_table(vlc, table_size, flags & INIT_VLC_USE_NEW_STATIC);
     ff_dlog(NULL, "new table index=%d size=%d\n", table_index, table_size);
     if (table_index < 0)