From 3ac99cdc412f3c02f96c752a6da4aada10f2edb6 Mon Sep 17 00:00:00 2001 From: Paul B Mahol Date: Sat, 28 Jan 2012 19:46:47 +0000 Subject: [PATCH] libgsm: check return value of gsm_create & avcodec_alloc_frame() Signed-off-by: Paul B Mahol Signed-off-by: Michael Niedermayer --- libavcodec/libgsm.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libavcodec/libgsm.c b/libavcodec/libgsm.c index 23950c0c21..203e360375 100644 --- a/libavcodec/libgsm.c +++ b/libavcodec/libgsm.c @@ -55,6 +55,8 @@ static av_cold int libgsm_encode_init(AVCodecContext *avctx) { } avctx->priv_data = gsm_create(); + if (!avctx->priv_data) + goto error; switch(avctx->codec_id) { case CODEC_ID_GSM: @@ -71,8 +73,13 @@ static av_cold int libgsm_encode_init(AVCodecContext *avctx) { avctx->coded_frame= avcodec_alloc_frame(); avctx->coded_frame->key_frame= 1; + if (!avctx->coded_frame) + goto error; return 0; +error: + libgsm_encode_close(); + return -1; } static av_cold int libgsm_encode_close(AVCodecContext *avctx) {