You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-10 06:10:52 +02:00
libschroedinger: Check memory allocations
This commit is contained in:
@@ -191,6 +191,8 @@ SchroFrame *ff_create_schro_frame(AVCodecContext *avctx,
|
|||||||
uv_height = y_height >> (SCHRO_FRAME_FORMAT_V_SHIFT(schro_frame_fmt));
|
uv_height = y_height >> (SCHRO_FRAME_FORMAT_V_SHIFT(schro_frame_fmt));
|
||||||
|
|
||||||
p_pic = av_mallocz(sizeof(AVPicture));
|
p_pic = av_mallocz(sizeof(AVPicture));
|
||||||
|
if (!p_pic)
|
||||||
|
return NULL;
|
||||||
avpicture_alloc(p_pic, avctx->pix_fmt, y_width, y_height);
|
avpicture_alloc(p_pic, avctx->pix_fmt, y_width, y_height);
|
||||||
|
|
||||||
p_frame = schro_frame_new();
|
p_frame = schro_frame_new();
|
||||||
|
@@ -271,6 +271,8 @@ static int libschroedinger_decode_frame(AVCodecContext *avctx,
|
|||||||
/* Decoder needs a frame - create one and push it in. */
|
/* Decoder needs a frame - create one and push it in. */
|
||||||
frame = ff_create_schro_frame(avctx,
|
frame = ff_create_schro_frame(avctx,
|
||||||
p_schro_params->frame_format);
|
p_schro_params->frame_format);
|
||||||
|
if (!frame)
|
||||||
|
return AVERROR(ENOMEM);
|
||||||
schro_decoder_add_output_picture(decoder, frame);
|
schro_decoder_add_output_picture(decoder, frame);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@@ -283,6 +283,8 @@ static int libschroedinger_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
|||||||
} else {
|
} else {
|
||||||
/* Allocate frame data to schro input buffer. */
|
/* Allocate frame data to schro input buffer. */
|
||||||
SchroFrame *in_frame = libschroedinger_frame_from_data(avctx, frame);
|
SchroFrame *in_frame = libschroedinger_frame_from_data(avctx, frame);
|
||||||
|
if (!in_frame)
|
||||||
|
return AVERROR(ENOMEM);
|
||||||
/* Load next frame. */
|
/* Load next frame. */
|
||||||
schro_encoder_push_frame(encoder, in_frame);
|
schro_encoder_push_frame(encoder, in_frame);
|
||||||
}
|
}
|
||||||
@@ -331,6 +333,8 @@ static int libschroedinger_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
|
|||||||
|
|
||||||
/* Create output frame. */
|
/* Create output frame. */
|
||||||
p_frame_output = av_mallocz(sizeof(FFSchroEncodedFrame));
|
p_frame_output = av_mallocz(sizeof(FFSchroEncodedFrame));
|
||||||
|
if (!p_frame_output)
|
||||||
|
return AVERROR(ENOMEM);
|
||||||
/* Set output data. */
|
/* Set output data. */
|
||||||
p_frame_output->size = p_schro_params->enc_buf_size;
|
p_frame_output->size = p_schro_params->enc_buf_size;
|
||||||
p_frame_output->p_encbuf = p_schro_params->enc_buf;
|
p_frame_output->p_encbuf = p_schro_params->enc_buf;
|
||||||
|
Reference in New Issue
Block a user