1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

avcodec/libx264: Check for av_malloc() failure

Fixes CID1257813
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2015-02-22 02:49:33 +01:00
parent 21518f5a0a
commit 066dc04373

View File

@ -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)
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)
} }
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[] = {