[SCM] libav/experimental: replace wrong return 0 by -1

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 15:55:23 UTC 2013


The following commit has been merged in the experimental branch:
commit ceba96cb26ee3635f38494346c1f5359368dbaf8
Author: Michael Niedermayer <michaelni at gmx.at>
Date:   Mon Jan 22 21:28:56 2007 +0000

    replace wrong return 0 by -1
    
    Originally committed as revision 7654 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavformat/asf.c b/libavformat/asf.c
index 6c4bb35..dd13458 100644
--- a/libavformat/asf.c
+++ b/libavformat/asf.c
@@ -502,11 +502,11 @@ static int asf_get_packet(AVFormatContext *s)
     //the following checks prevent overflows and infinite loops
     if(packet_length >= (1U<<29)){
         av_log(s, AV_LOG_ERROR, "invalid packet_length %d at:%"PRId64"\n", packet_length, url_ftell(pb));
-        return 0; // FIXME this should be -1
+        return -1;
     }
     if(padsize >= (1U<<29)){
         av_log(s, AV_LOG_ERROR, "invalid padsize %d at:%"PRId64"\n", padsize, url_ftell(pb));
-        return 0; // FIXME this should be -1
+        return -1;
     }
 
     asf->packet_timestamp = get_le32(pb);
@@ -598,6 +598,8 @@ static int asf_read_packet(AVFormatContext *s, AVPacket *pkt)
     ByteIOContext *pb = &s->pb;
     //static int pc = 0;
     for (;;) {
+        if(url_feof(pb))
+            return AVERROR_IO;
         if (asf->packet_size_left < FRAME_HEADER_SIZE
             || asf->packet_segments < 1) {
             //asf->packet_size_left <= asf->packet_padsize) {
@@ -619,8 +621,8 @@ static int asf_read_packet(AVFormatContext *s, AVPacket *pkt)
                 return AVERROR_IO; /* Do not exceed the size of the data object */
             ret = asf_get_packet(s);
             //printf("READ ASF PACKET  %d   r:%d   c:%d\n", ret, asf->packet_size_left, pc++);
-            if (ret < 0 || url_feof(pb))
-                return AVERROR_IO;
+            if (ret < 0)
+                assert(asf->packet_size_left < FRAME_HEADER_SIZE || asf->packet_segments < 1);
             asf->packet_time_start = 0;
             continue;
         }

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list