]> git.sesse.net Git - vlc/commitdiff
dvdread: minimum value for ps_pkt_size is 6
authorDerk-Jan Hartman <hartman@videolan.org>
Thu, 2 Oct 2008 20:10:52 +0000 (22:10 +0200)
committerDerk-Jan Hartman <hartman@videolan.org>
Mon, 6 Oct 2008 11:17:34 +0000 (13:17 +0200)
(cherry picked from commit b1aa0a1a872627bb6bf6d94fea8145f4b6c3fccd)

modules/access/dvdread.c

index 48671c59adc8e58cc276fd7fff9bc1f80b39fbb1..8e1757a5f9f048df813d3aaed692a1c3d6d1f073 100644 (file)
@@ -603,10 +603,15 @@ static int DemuxBlock( demux_t *p_demux, uint8_t *pkt, int i_pkt )
     demux_sys_t *p_sys = p_demux->p_sys;
     uint8_t     *p = pkt;
 
-    while( p < &pkt[i_pkt] )
+    while( p && p < &pkt[i_pkt] )
     {
-        int i_size = ps_pkt_size( p, &pkt[i_pkt] - p );
         block_t *p_pkt;
+        int i_size = &pkt[i_pkt] - p;
+
+        if( i_size < 6 )
+            break;
+        i_size = ps_pkt_size( p, i_size );
         if( i_size <= 0 )
         {
             break;