]> git.sesse.net Git - vlc/commitdiff
modules/packetizer/dirac.c: check index before dereferencing
authorNickolai Zeldovich <nickolai@csail.mit.edu>
Sat, 5 Jan 2013 23:03:45 +0000 (18:03 -0500)
committerRafaël Carré <funman@videolan.org>
Sun, 6 Jan 2013 10:39:15 +0000 (11:39 +0100)
Check that frame_rate_index is within bounds before dereferencing
the dirac_frate_tbl[] array.

Signed-off-by: Rafaël Carré <funman@videolan.org>
modules/packetizer/dirac.c

index 9f27185fa8e4891bb13a27eca0e6a090f727faf4..04ec28af3ee2e030c78f6e829f68c991a4763a1a 100644 (file)
@@ -571,13 +571,13 @@ static bool dirac_UnpackSeqHdr( struct seq_hdr_t *p_sh, block_t *p_block )
     if( dirac_bool( &bs ) )
     {
         uint32_t frame_rate_index = dirac_uint( &bs );
-        p_sh->u_fps_num = dirac_frate_tbl[frame_rate_index].u_n;
-        p_sh->u_fps_den = dirac_frate_tbl[frame_rate_index].u_d;
         if( frame_rate_index >= dirac_frate_tbl_size )
         {
             /* invalid header */
             return false;
         }
+        p_sh->u_fps_num = dirac_frate_tbl[frame_rate_index].u_n;
+        p_sh->u_fps_den = dirac_frate_tbl[frame_rate_index].u_d;
         if( frame_rate_index == 0 )
         {
             p_sh->u_fps_num = dirac_uint( &bs ); /* frame_rate_numerator */