diff options
author | Sean McGovern <gseanmcg@gmail.com> | 2017-07-12 19:45:46 -0400 |
---|---|---|
committer | Sean McGovern <gseanmcg@gmail.com> | 2017-07-17 07:08:13 -0400 |
commit | 95ce02b35d3d1bb16111031df1d82a6e4d894d36 (patch) | |
tree | d853d1b70ba26e1d506ca28e08b77f0ea0debfa2 /libavformat | |
parent | 825e463a170c7004c63030dc484b2b2de869227b (diff) | |
download | ffmpeg-95ce02b35d3d1bb16111031df1d82a6e4d894d36.tar.gz |
rmdec: don't ignore the return value of av_get_packet()
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/rmdec.c | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/libavformat/rmdec.c b/libavformat/rmdec.c index 2e93f1d4e8..b8ba24e928 100644 --- a/libavformat/rmdec.c +++ b/libavformat/rmdec.c @@ -722,6 +722,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; @@ -778,11 +779,15 @@ 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); + ret = av_get_packet(pb, pkt, len); + if (ret < 0) + return ret; pkt->stream_index = st->index; @@ -798,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 |