Commit a8bdf240 authored by Justin Ruggles's avatar Justin Ruggles

check for coded_frame allocation failure in several audio encoders

parent 255ad888
...@@ -70,6 +70,10 @@ static av_cold int libgsm_encode_init(AVCodecContext *avctx) { ...@@ -70,6 +70,10 @@ static av_cold int libgsm_encode_init(AVCodecContext *avctx) {
} }
avctx->coded_frame= avcodec_alloc_frame(); avctx->coded_frame= avcodec_alloc_frame();
if (!avctx->coded_frame) {
gsm_destroy(avctx->priv_data);
return AVERROR(ENOMEM);
}
return 0; return 0;
} }
......
...@@ -196,10 +196,13 @@ static av_cold int amr_nb_encode_init(AVCodecContext *avctx) ...@@ -196,10 +196,13 @@ static av_cold int amr_nb_encode_init(AVCodecContext *avctx)
avctx->frame_size = 160; avctx->frame_size = 160;
avctx->coded_frame = avcodec_alloc_frame(); avctx->coded_frame = avcodec_alloc_frame();
if (!avctx->coded_frame)
return AVERROR(ENOMEM);
s->enc_state = Encoder_Interface_init(s->enc_dtx); s->enc_state = Encoder_Interface_init(s->enc_dtx);
if (!s->enc_state) { if (!s->enc_state) {
av_log(avctx, AV_LOG_ERROR, "Encoder_Interface_init error\n"); av_log(avctx, AV_LOG_ERROR, "Encoder_Interface_init error\n");
av_freep(&avctx->coded_frame);
return -1; return -1;
} }
......
...@@ -39,6 +39,8 @@ static av_cold int aac_encode_init(AVCodecContext *avctx) ...@@ -39,6 +39,8 @@ static av_cold int aac_encode_init(AVCodecContext *avctx)
int index; int index;
avctx->coded_frame = avcodec_alloc_frame(); avctx->coded_frame = avcodec_alloc_frame();
if (!avctx->coded_frame)
return AVERROR(ENOMEM);
avctx->frame_size = 1024; avctx->frame_size = 1024;
voGetAACEncAPI(&s->codec_api); voGetAACEncAPI(&s->codec_api);
......
...@@ -87,6 +87,8 @@ static av_cold int amr_wb_encode_init(AVCodecContext *avctx) ...@@ -87,6 +87,8 @@ static av_cold int amr_wb_encode_init(AVCodecContext *avctx)
avctx->frame_size = 320; avctx->frame_size = 320;
avctx->coded_frame = avcodec_alloc_frame(); avctx->coded_frame = avcodec_alloc_frame();
if (!avctx->coded_frame)
return AVERROR(ENOMEM);
s->state = E_IF_init(); s->state = E_IF_init();
......
...@@ -181,6 +181,8 @@ static av_cold int MPA_encode_init(AVCodecContext *avctx) ...@@ -181,6 +181,8 @@ static av_cold int MPA_encode_init(AVCodecContext *avctx)
} }
avctx->coded_frame= avcodec_alloc_frame(); avctx->coded_frame= avcodec_alloc_frame();
if (!avctx->coded_frame)
return AVERROR(ENOMEM);
return 0; return 0;
} }
......
...@@ -49,6 +49,8 @@ static av_cold int pcm_encode_init(AVCodecContext *avctx) ...@@ -49,6 +49,8 @@ static av_cold int pcm_encode_init(AVCodecContext *avctx)
avctx->bits_per_coded_sample = av_get_bits_per_sample(avctx->codec->id); avctx->bits_per_coded_sample = av_get_bits_per_sample(avctx->codec->id);
avctx->block_align = avctx->channels * avctx->bits_per_coded_sample/8; avctx->block_align = avctx->channels * avctx->bits_per_coded_sample/8;
avctx->coded_frame= avcodec_alloc_frame(); avctx->coded_frame= avcodec_alloc_frame();
if (!avctx->coded_frame)
return AVERROR(ENOMEM);
return 0; return 0;
} }
......
...@@ -59,6 +59,8 @@ static av_cold int roq_dpcm_encode_init(AVCodecContext *avctx) ...@@ -59,6 +59,8 @@ static av_cold int roq_dpcm_encode_init(AVCodecContext *avctx)
context->lastSample[0] = context->lastSample[1] = 0; context->lastSample[0] = context->lastSample[1] = 0;
avctx->coded_frame= avcodec_alloc_frame(); avctx->coded_frame= avcodec_alloc_frame();
if (!avctx->coded_frame)
return AVERROR(ENOMEM);
return 0; return 0;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment