diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2015-02-22 02:49:33 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-02-22 02:55:51 +0100 |
commit | 066dc0437368acd21546ee327a0a94c60c3808b2 (patch) | |
tree | 2cdb60df381c5bfce8d54931e1749b432aecd4d9 /libavcodec/libx264.c | |
parent | 21518f5a0a6b644d1dedda5650c15bc3df62a567 (diff) | |
download | ffmpeg-066dc0437368acd21546ee327a0a94c60c3808b2.tar.gz |
avcodec/libx264: Check for av_malloc() failure
Fixes CID1257813
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/libx264.c')
-rw-r--r-- | libavcodec/libx264.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c index 4da0ee0d84..ac536dc561 100644 --- a/libavcodec/libx264.c +++ b/libavcodec/libx264.c @@ -700,6 +700,8 @@ static av_cold int X264_init(AVCodecContext *avctx) s = x264_encoder_headers(x4->enc, &nal, &nnal); avctx->extradata = p = av_malloc(s); + if (!p) + goto nomem; for (i = 0; i < nnal; i++) { /* Don't put the SEI in extradata. */ @@ -707,6 +709,8 @@ static av_cold int X264_init(AVCodecContext *avctx) av_log(avctx, AV_LOG_INFO, "%s\n", nal[i].p_payload+25); x4->sei_size = nal[i].i_payload; x4->sei = av_malloc(x4->sei_size); + if (!x4->sei) + goto nomem; memcpy(x4->sei, nal[i].p_payload, nal[i].i_payload); continue; } @@ -717,6 +721,9 @@ static av_cold int X264_init(AVCodecContext *avctx) } return 0; +nomem: + X264_close(avctx); + return AVERROR(ENOMEM); } static const enum AVPixelFormat pix_fmts_8bit[] = { |