]> git.sesse.net Git - ffmpeg/commitdiff
avcodec/libx264: Check for av_malloc() failure
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 22 Feb 2015 01:49:33 +0000 (02:49 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 22 Feb 2015 01:55:51 +0000 (02:55 +0100)
Fixes CID1257813
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/libx264.c

index 4da0ee0d84ce42c0f6a9b0234c168826fee50ce3..ac536dc56193c6e4c690c935b66245c26e82f361 100644 (file)
@@ -700,6 +700,8 @@ static av_cold int X264_init(AVCodecContext *avctx)
 
         s = x264_encoder_headers(x4->enc, &nal, &nnal);
         avctx->extradata = p = av_malloc(s);
+        if (!p)
+            goto nomem;
 
         for (i = 0; i < nnal; i++) {
             /* Don't put the SEI in extradata. */
@@ -707,6 +709,8 @@ static av_cold int X264_init(AVCodecContext *avctx)
                 av_log(avctx, AV_LOG_INFO, "%s\n", nal[i].p_payload+25);
                 x4->sei_size = nal[i].i_payload;
                 x4->sei      = av_malloc(x4->sei_size);
+                if (!x4->sei)
+                    goto nomem;
                 memcpy(x4->sei, nal[i].p_payload, nal[i].i_payload);
                 continue;
             }
@@ -717,6 +721,9 @@ static av_cold int X264_init(AVCodecContext *avctx)
     }
 
     return 0;
+nomem:
+    X264_close(avctx);
+    return AVERROR(ENOMEM);
 }
 
 static const enum AVPixelFormat pix_fmts_8bit[] = {