[FFmpeg-cvslog] matroskadec: Check memory allocations

Vittorio Giovara git at videolan.org
Fri Mar 13 00:02:50 CET 2015


ffmpeg | branch: master | Vittorio Giovara <vittorio.giovara at gmail.com> | Thu Mar 12 13:04:09 2015 +0000| [6bdae41d3ef74a0865e8f87896e649f93b2f39bd] | committer: Vittorio Giovara

matroskadec: Check memory allocations

CC: libav-stable at libav.org

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6bdae41d3ef74a0865e8f87896e649f93b2f39bd
---

 libavformat/matroskadec.c |    6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index 697e14c..d352c8b 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -1710,6 +1710,8 @@ static int matroska_parse_tracks(AVFormatContext *s)
                 return AVERROR_INVALIDDATA;
             track->audio.buf = av_malloc(track->audio.frame_size *
                                          track->audio.sub_packet_h);
+            if (!track->audio.buf)
+                return AVERROR(ENOMEM);
             if (codec_id == AV_CODEC_ID_RA_288) {
                 st->codec->block_align = track->audio.coded_framesize;
                 track->codec_priv.size = 0;
@@ -2270,6 +2272,10 @@ static int matroska_parse_frame(MatroskaDemuxContext *matroska,
         offset = 8;
 
     pkt = av_mallocz(sizeof(AVPacket));
+    if (!pkt) {
+        av_freep(&pkt_data);
+        return AVERROR(ENOMEM);
+    }
     /* XXX: prevent data copy... */
     if (av_new_packet(pkt, pkt_size + offset) < 0) {
         av_free(pkt);



More information about the ffmpeg-cvslog mailing list