]> git.sesse.net Git - vlc/commitdiff
mpeg_ts: fix potential array off by one
authorRémi Duraffort <ivoire@videolan.org>
Thu, 8 Aug 2013 16:52:33 +0000 (18:52 +0200)
committerJean-Baptiste Kempf <jb@videolan.org>
Fri, 9 Aug 2013 08:24:02 +0000 (10:24 +0200)
modules/mux/mpeg/ts.c

index 2cfd8cf0e9ff5d858595dcbdbf76f787d42458ca..d514f5cc075bd331528fdde2341c4c5b45975bd6 100644 (file)
@@ -557,10 +557,10 @@ static int Open( vlc_object_t *p_this )
         {
             p_sys->pmtmap[p_sys->i_pmtslots].i_pid = i_pid;
             p_sys->pmtmap[p_sys->i_pmtslots].i_prog = p_sys->i_num_pmt - 1;
-            if ( ++p_sys->i_pmtslots > MAX_PMT_PID )
+            if ( ++p_sys->i_pmtslots >= MAX_PMT_PID )
             {
                 msg_Err( p_mux, "Number of pids in PMT > %d", MAX_PMT_PID );
-                p_sys->i_pmtslots = MAX_PMT_PID;
+                p_sys->i_pmtslots = MAX_PMT_PID - 1;
             }
         }
     }
@@ -633,7 +633,7 @@ static int Open( vlc_object_t *p_this )
 
             if( i_pid == 0 )
             {
-                if( i > MAX_PMT )
+                if( i >= MAX_PMT )
                     msg_Err( p_mux, "Number of PMTs > maximum (%d)", MAX_PMT );
             }
             else