[FFmpeg-cvslog] avformat/rpl: check av_get_packet() for failure

Paul B Mahol git at videolan.org
Fri Feb 6 17:08:49 CET 2015


ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Thu Feb  5 14:44:43 2015 +0000| [f968166439e4d4fc9f352ea20b8922d42ca5c7b1] | committer: Paul B Mahol

avformat/rpl: check av_get_packet() for failure

Also make ret signed as it should be from start.

Signed-off-by: Paul B Mahol <onemda at gmail.com>

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

 libavformat/rpl.c |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/libavformat/rpl.c b/libavformat/rpl.c
index c1229e8..04cb917 100644
--- a/libavformat/rpl.c
+++ b/libavformat/rpl.c
@@ -278,7 +278,7 @@ static int rpl_read_packet(AVFormatContext *s, AVPacket *pkt)
     AVIOContext *pb = s->pb;
     AVStream* stream;
     AVIndexEntry* index_entry;
-    uint32_t ret;
+    int ret;
 
     if (rpl->chunk_part == s->nb_streams) {
         rpl->chunk_number++;
@@ -308,6 +308,8 @@ static int rpl_read_packet(AVFormatContext *s, AVPacket *pkt)
             return AVERROR(EIO);
 
         ret = av_get_packet(pb, pkt, frame_size);
+        if (ret < 0)
+            return ret;
         if (ret != frame_size) {
             av_free_packet(pkt);
             return AVERROR(EIO);
@@ -323,6 +325,8 @@ static int rpl_read_packet(AVFormatContext *s, AVPacket *pkt)
         }
     } else {
         ret = av_get_packet(pb, pkt, index_entry->size);
+        if (ret < 0)
+            return ret;
         if (ret != index_entry->size) {
             av_free_packet(pkt);
             return AVERROR(EIO);



More information about the ffmpeg-cvslog mailing list