avformat/rpl: check av_get_packet() for failure
authorPaul B Mahol <onemda@gmail.com>
Thu, 5 Feb 2015 14:44:43 +0000 (14:44 +0000)
committerPaul B Mahol <onemda@gmail.com>
Fri, 6 Feb 2015 16:07:16 +0000 (16:07 +0000)
Also make ret signed as it should be from start.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
libavformat/rpl.c

index c1229e8..04cb917 100644 (file)
@@ -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);