[FFmpeg-cvslog] segafilm: drop the "song and dance" for cinepak

Michael Niedermayer git at videolan.org
Tue Nov 10 18:19:01 CET 2015


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Tue Jan  7 14:38:49 2014 +0100| [563e6d860391bac0511984e5c0842320b5c94d2d] | committer: Vittorio Giovara

segafilm: drop the "song and dance" for cinepak

This seems not to do anything any more since a long time, and removing
it avoids using uninitialized memory. Also change the error value
forwarding as done everywhere else.

Partly fixes: msan_uninit-mem_7fb7d24780d0_2744_R03T.CAK
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Vittorio Giovara <vittorio.giovara at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=563e6d860391bac0511984e5c0842320b5c94d2d
---

 libavformat/segafilm.c |   15 +++------------
 1 file changed, 3 insertions(+), 12 deletions(-)

diff --git a/libavformat/segafilm.c b/libavformat/segafilm.c
index bbbf701..256c474 100644
--- a/libavformat/segafilm.c
+++ b/libavformat/segafilm.c
@@ -280,18 +280,9 @@ static int film_read_packet(AVFormatContext *s,
     /* position the stream (will probably be there anyway) */
     avio_seek(pb, sample->sample_offset, SEEK_SET);
 
-    /* do a special song and dance when loading FILM Cinepak chunks */
-    if ((sample->stream == film->video_stream_index) &&
-        (film->video_type == AV_CODEC_ID_CINEPAK)) {
-        pkt->pos= avio_tell(pb);
-        if (av_new_packet(pkt, sample->sample_size))
-            return AVERROR(ENOMEM);
-        avio_read(pb, pkt->data, sample->sample_size);
-    } else {
-        ret= av_get_packet(pb, pkt, sample->sample_size);
-        if (ret != sample->sample_size)
-            ret = AVERROR(EIO);
-    }
+    ret = av_get_packet(pb, pkt, sample->sample_size);
+    if (ret < 0)
+        return ret;
 
     pkt->stream_index = sample->stream;
     pkt->pts = sample->pts;



More information about the ffmpeg-cvslog mailing list