Commit 066dc043 authored by Michael Niedermayer's avatar Michael Niedermayer

avcodec/libx264: Check for av_malloc() failure

Fixes CID1257813
Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent 21518f5a
...@@ -700,6 +700,8 @@ static av_cold int X264_init(AVCodecContext *avctx) ...@@ -700,6 +700,8 @@ static av_cold int X264_init(AVCodecContext *avctx)
s = x264_encoder_headers(x4->enc, &nal, &nnal); s = x264_encoder_headers(x4->enc, &nal, &nnal);
avctx->extradata = p = av_malloc(s); avctx->extradata = p = av_malloc(s);
if (!p)
goto nomem;
for (i = 0; i < nnal; i++) { for (i = 0; i < nnal; i++) {
/* Don't put the SEI in extradata. */ /* Don't put the SEI in extradata. */
...@@ -707,6 +709,8 @@ static av_cold int X264_init(AVCodecContext *avctx) ...@@ -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); av_log(avctx, AV_LOG_INFO, "%s\n", nal[i].p_payload+25);
x4->sei_size = nal[i].i_payload; x4->sei_size = nal[i].i_payload;
x4->sei = av_malloc(x4->sei_size); x4->sei = av_malloc(x4->sei_size);
if (!x4->sei)
goto nomem;
memcpy(x4->sei, nal[i].p_payload, nal[i].i_payload); memcpy(x4->sei, nal[i].p_payload, nal[i].i_payload);
continue; continue;
} }
...@@ -717,6 +721,9 @@ static av_cold int X264_init(AVCodecContext *avctx) ...@@ -717,6 +721,9 @@ static av_cold int X264_init(AVCodecContext *avctx)
} }
return 0; return 0;
nomem:
X264_close(avctx);
return AVERROR(ENOMEM);
} }
static const enum AVPixelFormat pix_fmts_8bit[] = { static const enum AVPixelFormat pix_fmts_8bit[] = {
......
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