From e0caa1eb4e518111a81801db0d2ccdd2733ba94b Mon Sep 17 00:00:00 2001 From: Vittorio Giovara Date: Fri, 24 Oct 2014 00:05:53 +0100 Subject: matroskadec: check return values CC: libav-stable@libav.org Bug-Id: CID 733712 --- libavformat/matroskadec.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'libavformat/matroskadec.c') diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index d3ce009ac0..a83589a4a0 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -2132,8 +2132,16 @@ static int matroska_parse_rm_audio(MatroskaDemuxContext *matroska, } while (track->audio.pkt_cnt) { + int ret; AVPacket *pkt = av_mallocz(sizeof(AVPacket)); - av_new_packet(pkt, a); + if (!pkt) + return AVERROR(ENOMEM); + + ret = av_new_packet(pkt, a); + if (ret < 0) { + av_free(pkt); + return ret; + } memcpy(pkt->data, track->audio.buf + a * (h * w / a - track->audio.pkt_cnt--), a); -- cgit v1.2.3