]> git.sesse.net Git - vlc/commitdiff
demux: ts: add buffer check before parsing PES
authorFrancois Cartegnie <fcvlcdev@free.fr>
Fri, 20 Feb 2015 16:25:35 +0000 (17:25 +0100)
committerFrancois Cartegnie <fcvlcdev@free.fr>
Fri, 20 Feb 2015 19:05:21 +0000 (20:05 +0100)
modules/demux/ts.c

index 9a6a241632bbc6690930268c141d314485601522..daaa0f7da08903682e3b2288ebcce29f481941cd 100644 (file)
@@ -2135,7 +2135,13 @@ static void ParsePES( demux_t *p_demux, ts_pid_t *pid, block_t *p_pes )
     mtime_t i_length = 0;
 
     /* FIXME find real max size */
-    /* const int i_max = */ block_ChainExtract( p_pes, header, 34 );
+    const int i_max = block_ChainExtract( p_pes, header, 34 );
+    assert(i_max >= 34);
+    if (unlikely(i_max < 34))
+    {
+        block_ChainRelease( p_pes );
+        return;
+    }
 
     if( pid->b_scrambled || header[0] != 0 || header[1] != 0 || header[2] != 1 )
     {