[FFmpeg-devel] [PATCH] libgsm: check return value of gsm_create & avcodec_alloc_frame()

Paul B Mahol onemda at gmail.com
Sat Jan 28 20:46:47 CET 2012


Also remove dupe assigment.

Signed-off-by: Paul B Mahol <onemda at gmail.com>
---
 libavcodec/libgsm.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/libavcodec/libgsm.c b/libavcodec/libgsm.c
index 23950c0..9193874 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:
@@ -70,9 +72,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) {
-- 
1.7.7



More information about the ffmpeg-devel mailing list