Merge commit 'e570f895cdccf2535a71fec1c607751ddb94fd5a'
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 23 Feb 2015 10:42:16 +0000 (11:42 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 23 Feb 2015 10:42:16 +0000 (11:42 +0100)
* commit 'e570f895cdccf2535a71fec1c607751ddb94fd5a':
  libschroedinger: Check memory allocations

Conflicts:
libavcodec/libschroedinger.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/libschroedingerdec.c
libavcodec/libschroedingerenc.c

index dca3379..8778869 100644 (file)
@@ -267,6 +267,8 @@ static int libschroedinger_decode_frame(AVCodecContext *avctx,
                 /* Decoder needs a frame - create one and push it in. */
                 frame = ff_create_schro_frame(avctx,
                                               p_schro_params->frame_format);
+                if (!frame)
+                    return AVERROR(ENOMEM);
                 schro_decoder_add_output_picture(decoder, frame);
                 break;
 
index 294fb06..f7a3235 100644 (file)
@@ -284,6 +284,8 @@ static int libschroedinger_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
     } else {
         /* Allocate frame data to schro input buffer. */
         SchroFrame *in_frame = libschroedinger_frame_from_data(avctx, frame);
+        if (!in_frame)
+            return AVERROR(ENOMEM);
         /* Load next frame. */
         schro_encoder_push_frame(encoder, in_frame);
     }
@@ -332,6 +334,8 @@ static int libschroedinger_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
 
             /* Create output frame. */
             p_frame_output = av_mallocz(sizeof(FFSchroEncodedFrame));
+            if (!p_frame_output)
+                return AVERROR(ENOMEM);
             /* Set output data. */
             p_frame_output->size     = p_schro_params->enc_buf_size;
             p_frame_output->p_encbuf = p_schro_params->enc_buf;