diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index 95ec67c1e50b00d1dade8a6e43197c9929084fa5..264579782427c1745a58b8bfb6bdd48bf0b94a30 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -2507,6 +2507,8 @@ static int matroska_parse_webvtt(MatroskaDemuxContext *matroska, return AVERROR_INVALIDDATA; pkt = av_mallocz(sizeof(*pkt)); + if (!pkt) + return AVERROR(ENOMEM); err = av_new_packet(pkt, text_len); if (err < 0) { av_free(pkt); @@ -2592,6 +2594,8 @@ static int matroska_parse_frame(MatroskaDemuxContext *matroska, offset = 8; pkt = av_mallocz(sizeof(AVPacket)); + if (!pkt) + return AVERROR(ENOMEM); /* XXX: prevent data copy... */ if (av_new_packet(pkt, pkt_size + offset) < 0) { av_free(pkt);