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:
parent
21518f5a0a
commit
066dc04373
@ -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[] = {
|
||||||
|
Loading…
Reference in New Issue
Block a user