[SCM] libav/experimental: Disable parsing for ogg streams where no ogg header was found, if no header was found the parser was not initialized and thus will crash when trying to use it.

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 16:52:12 UTC 2013


The following commit has been merged in the experimental branch:
commit c9da676de43d778d62efb1cfa75544d770736d67
Author: Reimar Döffinger <Reimar.Doeffinger at gmx.de>
Date:   Wed Sep 30 09:46:48 2009 +0000

    Disable parsing for ogg streams where no ogg header was found,
    if no header was found the parser was not initialized and thus will
    crash when trying to use it.
    
    Originally committed as revision 20093 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavformat/oggdec.c b/libavformat/oggdec.c
index 5d42db7..adf0ad0 100644
--- a/libavformat/oggdec.c
+++ b/libavformat/oggdec.c
@@ -477,12 +477,17 @@ static int
 ogg_read_header (AVFormatContext * s, AVFormatParameters * ap)
 {
     struct ogg *ogg = s->priv_data;
+    int i;
     ogg->curidx = -1;
     //linear headers seek from start
     if (ogg_get_headers (s) < 0){
         return -1;
     }
 
+    for (i = 0; i < ogg->nstreams; i++)
+        if (ogg->streams[i].header < 0)
+            ogg->streams[i].codec = NULL;
+
     //linear granulepos seek from end
     ogg_get_length (s);
 

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list