Module: libav
Branch: release/12
Commit: b1494579cd2e6bd4e3bbaa7a78dab6dec061f1c8

Author:    Sean McGovern <gsean...@gmail.com>
Committer: Sean McGovern <gsean...@gmail.com>
Date:      Wed Jul 12 19:45:46 2017 -0400

rmdec: don't ignore the return value of av_get_packet()

(cherry picked from commits 95ce02b35d3d1bb16111031df1d82a6e4d894d36i
 and 80e919b17435da18c0f2be6403a0315cf4b40a1a)

Signed-off-by: Sean McGovern <gsean...@gmail.com>

---

 libavformat/rmdec.c | 22 ++++++++++++++++------
 1 file changed, 16 insertions(+), 6 deletions(-)

diff --git a/libavformat/rmdec.c b/libavformat/rmdec.c
index 9774194..c3fa7c5 100644
--- a/libavformat/rmdec.c
+++ b/libavformat/rmdec.c
@@ -721,6 +721,7 @@ ff_rm_parse_packet (AVFormatContext *s, AVIOContext *pb,
                     int *seq, int flags, int64_t timestamp)
 {
     RMDemuxContext *rm = s->priv_data;
+    int ret;
 
     if (st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) {
         rm->current_stream= st->id;
@@ -777,11 +778,16 @@ ff_rm_parse_packet (AVFormatContext *s, AVIOContext *pb,
             } else
                 return -1;
         } else {
-            av_get_packet(pb, pkt, len);
+            ret = av_get_packet(pb, pkt, len);
+            if (ret < 0)
+                return ret;
             rm_ac3_swap_bytes(st, pkt);
         }
-    } else
-        av_get_packet(pb, pkt, len);
+    } else {
+        ret = av_get_packet(pb, pkt, len);
+        if (ret < 0)
+            return ret;
+    }
 
     pkt->stream_index = st->index;
 
@@ -797,14 +803,18 @@ ff_rm_retrieve_cache (AVFormatContext *s, AVIOContext *pb,
                       AVStream *st, RMStream *ast, AVPacket *pkt)
 {
     RMDemuxContext *rm = s->priv_data;
+    int ret;
 
     assert (rm->audio_pkt_cnt > 0);
 
     if (ast->deint_id == DEINT_ID_VBRF ||
-        ast->deint_id == DEINT_ID_VBRS)
-        av_get_packet(pb, pkt, ast->sub_packet_lengths[ast->sub_packet_cnt - 
rm->audio_pkt_cnt]);
+        ast->deint_id == DEINT_ID_VBRS) {
+        ret = av_get_packet(pb, pkt, 
ast->sub_packet_lengths[ast->sub_packet_cnt - rm->audio_pkt_cnt]);
+        if (ret < 0)
+            return ret;
+    }
     else {
-        int ret = av_new_packet(pkt, st->codecpar->block_align);
+        ret = av_new_packet(pkt, st->codecpar->block_align);
         if (ret < 0)
             return ret;
         memcpy(pkt->data, ast->pkt.data + st->codecpar->block_align * //FIXME 
avoid this

_______________________________________________
libav-commits mailing list
libav-commits@libav.org
https://lists.libav.org/mailman/listinfo/libav-commits

Reply via email to