OSDN Git Service

lavc/utils: check av_frame_alloc() failure.
authorNicolas George <george@nsup.org>
Sun, 29 Dec 2013 09:42:54 +0000 (10:42 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 7 Jan 2014 20:28:41 +0000 (21:28 +0100)
(cherry picked from commit 38004051b53ddecb518053e6dadafa9adc4fc1b2)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/utils.c

index 38fc3d3..25bb245 100644 (file)
@@ -1725,6 +1725,8 @@ int attribute_align_arg avcodec_encode_audio(AVCodecContext *avctx,
 
     if (samples) {
         frame = av_frame_alloc();
+        if (!frame)
+            return AVERROR(ENOMEM);
 
         if (avctx->frame_size) {
             frame->nb_samples = avctx->frame_size;
@@ -2117,6 +2119,8 @@ int attribute_align_arg avcodec_decode_audio3(AVCodecContext *avctx, int16_t *sa
     AVFrame *frame = av_frame_alloc();
     int ret, got_frame = 0;
 
+    if (!frame)
+        return AVERROR(ENOMEM);
     if (avctx->get_buffer != avcodec_default_get_buffer) {
         av_log(avctx, AV_LOG_ERROR, "Custom get_buffer() for use with"
                                     "avcodec_decode_audio3() detected. Overriding with avcodec_default_get_buffer\n");