[vlc-devel] MPEG Video Codec Address Zero & Divide-by-Zero Crashes [1/1]

Andy Lindsay andy_vl at ananam.com
Tue Apr 1 12:23:23 CEST 2003


I am using VLC to handle DVB-T streams in an area of poor reception. 
This leads to VLC receiving corrupted TS packets which become a 
corrupted video stream.  From this I have identified some errors in the 
MPEG video codec that cause crashes.  Here are a couple of simple ones 
(I will describe another one in a separate message):

1.  In function PictureHeader(), if either i_structure or i_coding_type 
is an invalid value the look up to call the correct 
vpar_PictureData...() function ends up calling a function at address 0 
which causes an exception.

2.  Also, in the same function, invalid data in the picture header can 
lead to i_frame_rate being set to zero.  This leads to divide by zero 
errors in vpar_SynchroChose() or vpar_SynchroNewPicture().

Attached are patches to deal with these.

Note that I use VLC on WinXP from the command line (without a GUI) but I 
think that these errors could be seen on any system.
-- 
Andy Lindsay

-------------- next part --------------
A non-text attachment was scrubbed...
Name: synchro.c.patch
Type: application/octet-stream
Size: 1527 bytes
Desc: synchro.c.patch
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20030401/ee74a6e3/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: headers.c.patch
Type: application/octet-stream
Size: 2201 bytes
Desc: headers.c.patch
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20030401/ee74a6e3/attachment-0001.obj>


More information about the vlc-devel mailing list